Questions tagged «bash»

与其他Bourne / POSIX shell相对,GNU的Bourne Again SHell特有的问题。对于一般关于Unix shell的问题,请改用/ shell标记。

1
Bash记住了被移动/删除的可执行文件的错误路径
当我做 which pip3 我懂了 /usr/local/bin/pip3 但是当我尝试执行时pip3,出现如下错误: bash: /usr/bin/pip3: No such file or directory 这是因为我最近删除了该文件。现在which命令指向的另一个版本pip3是位于/usr/local/bin但外壳还记得在错误的道路。我该如何忘记那条路? 该which手册说 which returns the pathnames of the files (or links) which would be executed in the current environment, had its arguments been given as commands in a strictly POSIX-conformant shell. It does this by searching the …
29 bash  path  which 

3
如何检查ulimit使用
有什么方法可以检查给定用户的ulimits使用情况吗?我知道您可以在启动时更改单个进程的ulimit,或者在运行时更改单个shell的ulimit,但是我希望能够“监视”用户接近其极限的距离。我正在计划编写一个bash脚本,该脚本将报告回statsd当前的使用百分比。具体来说,我想跟踪: 打开文件(ulimit -n) 用户进程数上限(ulimit -u) 待处理信号(ulimit -i) 我想要的是使用百分比(0-100)。
29 linux  bash  ulimit 

3
重定向顺序
我不太了解计算机如何读取此命令。 cat file1 file2 1> file.txt 2>&1 据我了解,2>&1只需将标准错误重定向到标准输出。 按照这种逻辑,命令对我的读取如下: 连接文件file1和file2。 stdout从此操作发送到file.txt。 发送stderr至stdout。 结束? 我不确定计算机在做什么。按照我的逻辑,该命令应为 cat file1 file2 2>&1 > file.txt 但这是不正确的。

3
Bash 5中的新功能
我只是在浏览官方的bash存储库(我通常不这样做),但没有关系,但注意到bash 5已经处于beta中。我只是对bash 5中的新增功能感到好奇,但找不到任何信息。有人可以总结Bash 4.4和5版本之间的变化吗
29 bash  upgrade 

4
BASH基本从十进制转换为十六进制
在Bash中,如何将基数从十进制转换为另一基数,尤其是十六进制。似乎很容易走另一条路: $ echo $((16#55)) 85 通过网络搜索,我发现了一个脚本,该脚本可以进行数学和字符操作来进行转换,并且可以将其用作函数,但是我以为bash已经具有内置的基本转换-可以?

5
为什么我需要将“ do”与“ for”放在同一行?
1.总结 我不明白,为什么我需要E010打击规则。 2.细节 我用bashate了掉毛.sh的文件。E010规则: 这样做不是在同一行的 for 打击 正确: #!/bin/bash for f in bash/*.sh; do sashacommand "$f" done 错误: #!/bin/bash for f in bash/*.sh do sashacommand "$f" done 是否有任何有效的论据,为什么我需要for并do在同一行? 3.没用 我在以下位置找不到我的问题的答案: 谷歌 有关最佳编码实践的文章(示例) bashate文档。我只找到: 一组有助于使控制块中的内容保持一致的规则。这些在连续的长行中被忽略,因为展开是一种“有趣的”

1
&&和||之后的bash行继续在哪里 有记载吗?
我已经在脚本中看过很多这种结构,并且自己使用过,但是令我感到困扰的是,我似乎在文档中找不到它。 例: [ -f file1 ] && [ -f file2 ] && echo "Both files exist." || echo "One or the other file doesn't exist." 也可以在换行符之前用反斜杠来完成,如man bash: If a \<newline> pair appears, and the backslash is not itself quoted, the \<newline> is treated as a line continuation (that is, it …

4
Shell函数中局部变量的范围
看完24.2。局部变量,我认为var使用关键字声明变量local意味着var仅在函数的花括号分隔的代码块中可以访问的值。 但是,在运行以下示例之后,我发现var也可以从该代码块调用的函数中进行访问,读取和写入-即,即使var被声明local为outerFunc,innerFunc也仍然可以读取和更改其值。 Run It Online #!/usr/bin/env bash function innerFunc() { var='new value' echo "innerFunc: [var:${var}]" } function outerFunc() { local var='initial value' echo "outerFunc: before innerFunc: [var:${var}]" innerFunc echo "outerFunc: after innerFunc: [var:${var}]" } echo "global: before outerFunc: [var:${var}]" outerFunc echo "global: after outerFunc: [var:${var}]" 输出: global: before outerFunc: [var:] …


2
如何在第一次使用ssh登录时强制用户更改密码?
我试图强迫新创建的用户在第一次使用ssh登录时更改密码。为了安全起见,我想给他一个安全的密码,直到他第一次登录。到目前为止,我做了以下工作: useradd -s /bin/bash -m -d /home/foo foo passwd foo 这样做chage -d 0 foo只会给我Your account has expired; please contact your system administratorssh登录错误。
28 linux  bash  ssh  login  pam 



9
从PATH删除目录
我正在尝试使用MingW编译wxWidgets,并且我的路径中存在cygwin,这似乎冲突。所以我想/d/Programme/cygwin/bin从PATH变量中删除,我想知道是否有某种优雅的方法可以做到这一点。 幼稚的方法是将其回显到文件,手动将其删除并获取它,但是我敢说有更好的方法。

1
为什么echo> file比echo使用更多实时时间| sed>文件?
下面的例子令我惊讶。这似乎是反直观的……除了事实之外,该组合还有更多的用户时间echo | sed。 为什么单独运行时会花费echo那么多系统时间,或者问题应该是,如何sed改变游戏状态?似乎在两种情况下echo都需要执行相同的回显 ... time echo -n a\ {1..1000000}\ c$'\n' >file # real 0m9.481s # user 0m5.304s # sys 0m4.172s time echo -n a\ {1..1000000}\ c$'\n' |sed s/^\ // >file # real 0m5.955s # user 0m5.488s # sys 0m1.580s
28 bash  shell  pipe  time  echo 

4
如何使用gnu texttools连续执行'wc -l'?
我当然知道 cat logfile.txt | wc -l 120 会告诉我文件中的行数。 鉴于 tail -f logfile.txt 将向我展示另一个程序写入的新行logfile.txt。 是否可以将两者结合在一起,以便我可以使用标准文本实用程序连续更新logfile.txt的行数? 我知道 watch wc -l logfile.txt 但是我不想每次都重新计算整个文件,这似乎是浪费。一个人可能需要每秒钟左右追加一次计数,可能\r需要\n在行尾添加一个,而不是一个。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.