Questions tagged «bash»

有关为Bash命令外壳编写的脚本的问题。对于具有错误/语法错误的shell脚本,请在此处发布之前,使用shellcheck程序(或在Web shellcheck服务器中的https://shellcheck.net)进行检查。有关Bash交互使用的问题更可能是Super User而不是Stack Overflow上的话题。

12
如何获得bash补全以使用别名?
例子: 我在Mac上使用bash v3.2.17,正在使用通过具有bash_completion变体的macports安装的git。 当我键入git checkout m<tab>。例如,我完成了master。 但是,我有一个别名git checkout,gco。当我输入时gco m<tab>,我没有自动完成分支名称。 理想情况下,我希望自动补全可以神奇地为我的所有别名工作。可能吗?失败的话,我想为每个别名手动自定义它。那么,我该怎么办?
195 git  bash  shell  unix  autocomplete 

3
在Bash中,什么命令意味着“什么都不做”?
有时,在创建条件语句时,我需要代码不执行任何操作,例如,在这里,我希望Bash在$a大于“ 10”时不执行任何操作,如果$a小于“ 5”,则打印“ 1”,否则,请打印“ 2”: if [ "$a" -ge 10 ] then elif [ "$a" -le 5 ] then echo "1" else echo "2" fi 但是,这会导致错误。有没有什么用的命令也不会减慢我的脚本的速度吗?
195 bash  conditional  noop 

30
如何快速求和文件中的所有数字?
我有一个包含数千个数字的文件,每个数字都在自己的行上: 34 42 11 6 2 99 ... 我正在寻找一个脚本,它将打印文件中所有数字的总和。我有一个解决方案,但是效率不是很高。(运行需要几分钟。)我正在寻找一种更有效的解决方案。有什么建议?
194 linux  perl  bash  shell  awk 


4
如何在Bash中切片数组
查看bash(1)手册页中的“数组”部分,我没有找到切片数组的方法。 所以我想到了这个过于复杂的功能: #!/bin/bash # @brief: slice a bash array # @arg1: output-name # @arg2: input-name # @args: seq args # ---------------------------------------------- function slice() { local output=$1 local input=$2 shift 2 local indexes=$(seq $*) local -i i local tmp=$(for i in $indexes do echo "$(eval echo \"\${$input[$i]}\")" done) local IFS=$'\n' eval …
194 arrays  bash  slice 


5
如何在Linux上获得总体CPU使用率(例如57%)[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 8年前关闭。 改善这个问题 我想知道如何获得系统CPU使用率,例如使用bash以百分比表示。 样本输出: 57% 如果有多个核心,则可以计算平均百分比会很好。
193 linux  bash  unix  cpu 

5
切换到失败状态?
我正在使用Bash中的失败案例寻找switch语句的正确语法(理想情况下不区分大小写)。在PHP中,我会像这样编程: switch($c) { case 1: do_this(); break; case 2: case 3: do_what_you_are_supposed_to_do(); break; default: do_nothing(); } 我想要在Bash中也一样: case "$C" in "1") do_this() ;; "2") "3") do_what_you_are_supposed_to_do() ;; *) do_nothing(); ;; esac 这种方式不起作用:do_what_you_are_supposed_to_do()$ C为2或3时应触发函数。

8
OS X上的`date`命令没有ISO 8601`-I`选项吗?
在Bash脚本中,我想以ISO 8601格式(最好是UTC)打印当前日期时间,看来这应该很简单date -I: http://ss64.com/bash/date.html 但这似乎不适用于我的Mac: $ date -I date: illegal option -- I usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format] 实际上,man date没有列出此选项。 有谁知道这是为什么,或以其他任何(简便)方式以ISO 8601格式打印日期?谢谢!
193 bash  macos  iso8601 

10
在OSX上从zsh切换到bash,然后再次返回?
因此,Im学习在Rails中进行开发,并发现了zsh的强大功能。但是,对于其他一些任务,我希望使用普通的Bash。尽管它们是相同的,但在某些情况下,我对bash的布局感到满意。如何来回切换,或打开和关闭zsh?谢谢!
193 bash  terminal  zsh 

6
值得切换到zsh以供临时使用吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 8年前关闭。 改善这个问题 Mac OS X中的默认外壳是bash,我通常很高兴使用它。我只是认为这是理所当然的。不过,如果它能自动完成更多的工作,那将是非常不错的,而且我zsh在这方面也听说过很多好事。但是我并不是很愿意花几个小时来修改设置,以将我的命令行使用量提高一点点,因为我在命令行上的生活还不错。 (据我了解,bash还可以将其配置为更聪明地自动完成。这并不是我一直热衷的配置。) zsh即使在少数情况下,切换到我的生活也会更轻松吗?或者,如果您花时间学习为什么更好,那么它只是更好的外壳吗?(示例也很好:)) @ Rodney Amato 和@ Vulcan Eager 提供了两个理由分别坚持bash和改用zsh。看来我必须对两者进行调查!那好吧:) 是否有人在辩论双方都有意见?
192 bash  shell  zsh 

3
在bash heredoc中使用变量
我正在尝试在bash heredoc内插变量: var=$1 sudo tee "/path/to/outfile" > /dev/null << "EOF" Some text that contains my $var EOF 这没有按我期望的那样工作(按$var字面意义处理,未扩展)。 我需要使用,sudo tee因为创建文件需要sudo。做类似的事情: sudo cat > /path/to/outfile <<EOT my text... EOT 不起作用,因为>outfile在当前外壳中打开了文件,该外壳未使用sudo。
192 bash  variables  sh  heredoc 

7
将所有变量从一个Shell脚本传递到另一个?
可以说我有一个名为/的shell / bash脚本test.sh: #!/bin/bash TESTVARIABLE=hellohelloheloo ./test2.sh 我的test2.sh样子是这样的: #!/bin/bash echo ${TESTVARIABLE} 这是行不通的。我不想将所有变量都作为参数传递,因为恕我直言,这太过分了。 有其他方法吗?
192 bash  shell 


9
如何删除X小时之前的文件
我正在编写一个bash脚本,该脚本需要删除旧文件。 目前使用来实现: find $LOCATION -name $REQUIRED_FILES -type f -mtime +1 -delete 这将删除早于1天的文件。 但是,如果我需要1天(例如6小时大)的更好分辨率,该怎么办?有没有一种很好的清洁方法,例如使用find和-mtime?
191 bash 

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.