Questions tagged «bash»

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

2
了解Shell内置命令
在bash手册中,写道 Builtin commands are contained >>> within <<< the shell itself 另外,这个答案指出 A built-in command is simply a command that the shell carries out itself, instead of interpreting it as a request to load and run some >>> other program <<< 在上运行compgen -b时bash 4.4,我会收到所有shell内置命令的列表。我看到例如,[并且kill被列为shell内置程序。但是它们的实际位置是: /usr/bin/[ /bin/kill 我认为这是builtin将命令编译为/bin/bash可执行文件的一种手段。因此,真正使我感到困惑的是:请纠正我,但是builtin当一个单独的命令实际上不属于shell的一部分时,它又如何成为a 呢?

3
Bash =〜正则表达式和https://regex101.com/
我使用https://regex101.com/构建了一个正则表达式,以返回字符串中IP地址的首次出现。 RegExp: (?:\d{1,3}\.)+(?:\d{1,3}) RegExp包括定界符: /(?:\d{1,3}\.)+(?:\d{1,3})/ 使用以下测试字符串: eu-west 140.243.64.99 它返回完全匹配的: 140.243.64.99 无论我对锚等如何尝试,以下bash脚本都无法与生成的正则表达式一起使用。 temp="eu-west 140.243.64.99 " regexp="(?:\d{1,3}\.)+(?:\d{1,3})" if [[ $temp =~ $regexp ]]; then echo "found a match" else echo "No IP address returned" fi

2
在bash vi模式下,将jk映射到退出插入模式
我正在使用bash shell重新安装ubuntu 16.04。我想做两件事: 设置vi模式,以便我可以在终端上进行类似vim的动作 通过键入退出插入模式 jk 我在另一篇文章中读到了如何做到这一点zsh,我该如何做到这一点bash? tl; dr 把bind '"jk":vi-movement-mode'到您的.bashrc文件后,set -o vi:) server@thinkpad:~$ tail -n 2 .bashrc set -o vi bind '"jk":vi-movement-mode' 请参阅@grochmal的答案以获取更详细的解释

2
bash函数中的可选参数
我有一个快速创建新的SVN分支的功能,如下所示 function svcp() { svn copy "repoaddress/branch/$1.0.x" "repoaddress/branch/dev/$2" -m "dev branch for $2"; } 我用它来快速创建一个新分支,而不必查找并复制粘贴地址和其他内容。但是,对于消息(-m选项),我想使用它,以便如果我提供第三个参数,则将其用作消息,否则将使用“ $ 2的dev分支”的“默认”消息。有人可以解释如何完成吗?

3
如何让ls列出带有尾随正斜杠的目录?
我的壳是bash。如何获得ls显示带有尾部正斜杠的目录的输出?当我这样做时ls,tcsh将提供所需的输出。我如何在bash不使用任何参数的情况下发生这种情况? 例如。 bin/ lib/ src/ file1.txt file2.txt
12 bash  directory  ls 

3
显示具有ANSI颜色的文件
我有一个ANSI颜色的文件。 test.txt: \e[0;31mExample\e[0m 我想像在终端一样在终端中显示此文件的内容cat,但是我也想显示颜色。
12 bash  terminal 

2
在不扩展/求值的情况下回显其中包含变量的字符串
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 4年前关闭。 我到处搜寻。尝试回显和打印。尝试使用单引号和双引号。但是我已经解析了数据并将其分配给一个变量,然后想对其进行评估以了解其中是否包含变量。然后,我将使用通配符替换变量并搜索文件。 例: var="file.$DATE.txt" ### Where it goes wrong- Needs to identify that $DATE is within the $var varaible. test=$(echo "$var"|grep '\$') if [[ $test ]] then ### I would use whatever fix is discovered here as well test=$(echo $test|sed 's/\$[a-zA-Z]*/\*/') fi ### (Actually pulling from remote machine …
12 bash  shell  quoting 


1
在使用反向搜索时返回bash历史记录的末尾?
我保留了相当长的bash历史记录,有时当我使用bash反向搜索功能(Ctrl+ r)搜索某些内容时,我会一直停留在搜索历史记录的开头,但仍然找不到所需的内容,然后我想回到最后历史记录文件。一种选择是使用向前搜索功能(Ctrl+ s),该功能移近历史记录的末尾或执行#,但是还有键盘快捷键直接移至bash历史记录的末尾吗?

3
退出bash功能,而不是终端
我有一个bash脚本,如下所示,它可以安装zookeeper,但前提是尚未安装。 ##zookeper installZook(){ ZOOK_VERSION="3.4.5" ZOOK_TOOL="zookeeper-${ZOOK_VERSION}" ZOOK_DOWNLOAD_URL="http://www.us.apache.org/dist/zookeeper/${ZOOK_TOOL}/${ZOOK_TOOL}.tar.gz" if [ -e $DEFAULT_INSTALLATION_DEST/${ZOOK_TOOL} ]; then echo "${ZOOK_TOOL} alreay installed"; exit 1; # <<<< here elif [ ! -e $DEFAULT_SOURCE_ROOT/${ZOOK_TOOL}.tar.gz ]; then wgetIt $ZOOK_DOWNLOAD_URL else echo "[info] : $DEFAULT_SOURCE_ROOT/$ZOOK_TOOL already exists" fi sudo mkdir -p /var/lib/zookeeper sudo mkdir -p /var/log/zookeeper tarIt "$DEFAULT_SOURCE_ROOT/$ZOOK_TOOL.tar.gz" sudo chmod …

6
如何从半随机字符串中提取/解析完整的URL?
我想让bash从随机短字符串中解析/提取完整的URL(仅URL)。 例子: bob, the address is http://www.google.com 要么 https://foo.com/category/example.html is up 要么 Error 123 occurred at http://bit.ly/~1223456677878 要么 Stats are up: https://foo1234.net/report.jpg 我尝试使用,cat foo_output | egrep -o "https?://[\w'-\.]*\s"但是似乎没有用。


9
安装oh-my-zsh之后:…/.zshrc:source:34:没有此类文件或目录…/.oh-my-zsh/oh-my-zsh.sh
我只是尝试安装oh-my-zsh。尝试运行时出现以下错误rvm: zsh: command not found: rvm 当我尝试打开新标签页时,也会出现以下错误: /Users/jack/.zshrc:source:34: no such file or directory: /Users/jack/.oh-my-zsh/oh-my-zsh.sh /Users/jack/.zshrc:source:38: no such file or directory: .bashrc 这是我的.zshrc档案: # Path to your oh-my-zsh configuration. ZSH=$HOME/.oh-my-zsh # Set name of the theme to load. # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll …
12 bash  zsh  oh-my-zsh 

2
如何扩展波浪符号〜作为变量的一部分?
当我打开bash提示并键入: $ set -o xtrace $ x='~/someDirectory' + x='~/someDirectory' $ echo $x + echo '~/someDirectory' ~/someDirectory 我希望上面的第五条线会过去+ echo /home/myUsername/someDirectory。有没有办法做到这一点?在我最初的Bash脚本中,实际上是通过如下循环从输入文件中的数据填充变量x: while IFS= read line do params=($line) echo ${params[0]} done <"./someInputFile.txt" 不过,我得到了类似的结果,echo '~/someDirectory'而不是echo /home/myUsername/someDirectory。

3
了解`$ _`的含义
您能否解释一下Bash手册中有关以下内容的句子$_,尤其是粗体部分,也许还有一些示例? 在shell启动时,设置为用于调用环境或参数list中传递的正在执行的shell或shell脚本的绝对路径名。 随后,扩展后,将扩展为上一个命令的最后一个参数。 还设置为用于调用每个执行的命令的完整路径名,并将其放置在导出到该命令的环境中。 当检查邮件,这个参数保存邮件文件的名称。
12 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.