32得票1回答
如何使Bash在OSX中的选项自动循环完成?

目前当我在我的主文件夹中,并想要进入“文档”文件夹时,我会输入 cd D 然后按下 Tab 键,Bash 会显示与 D 匹配的文件夹列表。 我希望发生的是,当我按下 Tab 键时,Bash 会自动补全与我输入的第一个匹配项,并且每次按下 Tab 键,它都会循环到下一个选项。 有没有办法实现...

7得票2回答
在sh中,"${0%/*}"和"${0##*/}"是什么意思?

以下是来自brew命令的摘录。 BREW_FILE_DIRECTORY=$(chdir "${0%/*}" && pwd -P) export HOMEBREW_BREW_FILE="$BREW_FILE_DIRECTORY/${0##*/}" 在Shell中,${0%/...

33得票4回答
在Bash脚本中使用条件语句检查字符串参数。

我正在尝试编写我的shell脚本thing.sh,以便在将其设置为可执行文件并使用单个字母"A"运行它时,$ ./thing.sh A 我获得输出A 如果参数1不是A,我希望输出结果为:Not A 这是我目前的代码:#!/bin/bash if [ "$1" -eq "A"] then ...

26得票4回答
如何修复在shell中编辑取消,没有进行任何更改的问题。

我跑步kubectl edit deployment 我希望更改其中一个pod的版本(这个命令会在我的文本编辑器中打开一个临时文件,然后我通常编辑并关闭这个临时文件),甚至在我在文本编辑器中关闭这个临时文件之前,我就可以在我的bash中看到以下提示。Edit cancelled, no cha...

151得票19回答
从$PATH变量中删除冗余路径

我在$PATH变量中定义了相同的路径6次。 我没有退出登录来检查它是否起作用。 我该如何删除重复项? $PATH变量看起来像这样:echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/g...

14得票1回答
使用cURL登录Stack Overflow

我正在开发一个项目,想要通过cURL登录Stack Overflow。 我使用Google作为我的openID提供商,这意味着我需要先通过其API登录Google。 以下是我目前的代码: #!/bin/sh . ./params.sh #the script with $username...

28得票2回答
在Unix中使用cat命令时如何转义美元符号

我希望你能在Ubuntu上完成以下操作,使得最终生成的磁盘文件内容是:foo $(bar) 我想使用cat命令创建此文件,例如:cat <<EOF > baz.txt type_magic_incantation_here_that_will_produce_foo_$(ba...

26得票4回答
如何关闭终端中的回显?

我正在编写一个Bourne shell脚本,其中有一个像这样的密码输入:echo -n 'Password: ' read password 很明显,我不希望密码被回显到终端上,因此我想在读取期间关闭回显。我知道可以使用stty来实现这一点,但是在我阅读手册的同时,我会为了社区的利益而提出这个...

7得票4回答
获取环境输出

我有一些需要调试的shell代码,因此我让代码将其环境转储到文件中。 env > env.txt 我的测试脚本需要引用它,名为test.sh: . ./env.txt echo $EXAMPLE echo $EXAMPLE2 env.txt文件的内容如下: EXAMPLE=...

8得票4回答
为什么脚本要将常见命令定义为变量?

我在工作中经常看到这种情况: #!/bin/sh ..... CAT=/usr/bin/cat # An alias for cat MAIL=/usr/bin/mail ...