1350得票12回答
如何正确地将路径添加到PATH中?

我想知道如何将新路径添加到PATH环境变量中。我知道可以通过编辑.bashrc(例如)来实现,但是具体该如何操作并不清楚。 可以按照以下步骤进行操作: export PATH=~/opt/bin:$PATH 或者这个? export PATH=$PATH:~/opt/bin

802得票4回答
如何在BASH中循环使用反向搜索?

在终端中,我可以输入Ctrl + R来搜索之前在BASH中键入的匹配命令。例如,如果我键入Ctrl + R然后输入grep,它会列出我最后一次使用的grep命令,并且我可以按回车键来使用它。不过,这只会给出一个建议。有没有办法循环浏览其他之前键入的匹配命令呢?

706得票24回答
在多个终端窗口中保存bash历史记录

我经常同时打开多个终端,从两个到十个不等,进行各种琐碎的操作。现在假设我重新启动并打开另一组终端,有些终端会记住某些东西,而有些则会忘记。 我想要一个历史记录功能,它能够: 记住每个终端的所有内容 可以在每个终端中立即访问(例如,如果我在一个终端中输入ls,然后切换到另一个已经运行的终端...

700得票20回答
如何有效地获取脚本的执行时间?

我想要显示一个脚本的完成时间。 目前我的做法是 - #!/bin/bash date ## echo the date at start # the script contents date ## echo the date at end 这只是显示脚本开始和结束时间的功能。是否可...

651得票4回答
在脚本中使用"${a:-b}"进行变量赋值

我一直在看一些其他人写的脚本(特别是 Red Hat),他们很多变量都是使用以下表示法赋值: VARIABLE1="${VARIABLE1:-some_val}" 或者扩展其他变量: VARIABLE2="${VARIABLE2:-`echo $VARIABLE1`}" 使用这种表示法而不是...

592得票27回答
在Bash脚本中,我该如何将主机名解析为IP地址?

在Bash脚本中,将主机名解析为IP地址的最简洁方法是什么?我正在使用Arch Linux。

546得票4回答
在一个bash脚本中,使用条件语句"或"在一个"if"语句中。

这个问题是我之前的问题的续集。这个网站上的用户很友好地帮助我确定如何编写一个遍历字符串值的bash for循环。例如,假设一个循环控制变量fname遍历字符串"a.txt" "b.txt" "c.txt"。当fname的值为"a.txt"或"c.txt"时,我想要echo出"yes!",否则e...

546得票7回答
Bash操作符[[ vs [ vs ( vs ((之间有什么区别?

我对在bash中使用这些运算符时它们有什么不同感到有点困惑(方括号、双方括号、圆括号和双圆括号)。 [[ , [ , ( , (( 我见过人们在这样的if语句中使用它们: if [[condition]] if [condition] if ((condition)) if (c...

544得票10回答
如何在命令成功或失败的情况下有条件地执行某些操作

我该如何在bash中做类似这样的事情? if "`command` returns any error"; then echo "Returned an error" else echo "Proceed..." fi

509得票14回答
如何在Bash中仅循环遍历目录?

我有一个文件夹,里面有一些目录和一些文件(其中一些是隐藏的,以点开头)。 for d in *; do echo $d done 循环遍历所有文件和目录,但我只想循环遍历目录。我该如何做到这一点?