Questions tagged «bash»

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

2
如何在Makefile中使用Shell命令
我正在尝试ls在其他命令(例如echo,rsync)中使用的结果: all: <Building, creating some .tgz files - removed for clarity> FILES = $(shell ls) echo $(FILES) 但是我得到: make FILES = Makefile file1.tgz file2.tgz file3.tgz make: FILES: No such file or directory make: *** [all] Error 1 我已经尝试使用echo $$FILES,echo ${FILES}并且echo $(FILES),没有运气。
99 bash  makefile  echo 

7
在远程ssh命令中传递变量
我希望能够使用ssh从我的机器上运行命令并传递环境变量 $BUILD_NUMBER 这是我正在尝试的: ssh pvt@192.168.1.133 '~/tools/myScript.pl $BUILD_NUMBER' $BUILD_NUMBER 是在进行ssh调用的计算机上设置的,并且由于该变量在远程主机上不存在,因此不会被提取。 如何传递的值$BUILD_NUMBER?
99 linux  bash  shell  ssh 

19
Bash语法错误:文件意外结束
原谅我,这是Bash中非常简单的脚本。这是代码: #!/bin/bash # june 2011 if [ $# -lt 3 -o $# -gt 3 ]; then echo "Error... Usage: $0 host database username" exit 0 fi 运行sh file.sh之后: 语法错误:文件意外结束
99 bash  syntax 

2
Bash脚本接收和传递引用的参数
我正在尝试获取bash脚本的带引号的参数,以确保嵌套脚本可以安全地接收它们。有任何想法吗? test.sh #!/bin/bash echo $* bash myecho.sh $* myecho.sh #!/bin/bash echo $1 echo $2 echo $3 echo $4 样品: bash test.sh aaa bbb '"ccc ddd"' 结果: aaa bbb "ccc ddd" aaa bbb "ccc ddd" 想要的结果 aaa bbb "ccc ddd" aaa bbb ccc ddd
98 bash  unix 

15
OS X的Bash脚本绝对路径
我正在尝试获取OS X上当前正在运行的脚本的绝对路径。 我看到了许多答复readlink -f $0。但是,由于OS X readlink与BSD相同,因此它根本不起作用(它与GNU版本兼容)。 有没有现成的解决方案吗?
98 macos  bash  path 



9
将输出写入日志文件和控制台
在Unix Shell中,我有一个env文件(env文件定义了运行用户脚本所需的参数,例如日志文件名和路径,将输出和错误重定向到日志文件,数据库连接详细信息等),该文件将所有输出重定向(回显消息)),并使用以下代码从执行的脚本向日志文件中显示错误: exec 1>>${LOG_FILE} exec 2>>${LOG_FILE} env文件在每个脚本的开头执行。由于上述env文件中的代码,所有可能是用户输出或错误的控制台输出都将直接输出到日志文件,这正是我实际需要的。 但是我希望在控制台和日志文件中同时显示一些选择性的用户输出。但是由于上面的代码,我无法执行此操作。 我知道,如果删除上面的代码,在这种情况下可以得到理想的结果,但是我将不得不将所有其他输出手动写入日志文件,这并非易事。 有没有一种方法可以在不删除上述代码的情况下在控制台和日志文件中获得输出?
98 bash  shell  redirect  logging 

4
在MacOSX中将ZSH设为默认Shell [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 我在Mac上安装了zsh。现在我想使其成为默认的外壳而不是Bash。但我似乎遇到以下错误: $ echo $SHELL /bin/bash $ chsh -s /usr/bin/zsh Changing shell for harshamv. Password for harshamv: chsh: /usr/bin/zsh: non-standard shell
98 bash  shell  zsh 

3
如何告诉bash该行在下一行继续
在我从另一个程序员那里得到的bash脚本中,某些行的长度超过80列。为了指示该行在下一行继续,要添加到该行的字符或事物是什么?
98 bash 

5
带参数的ZSH别名
我正在尝试为我的简单git add / commit / push创建一个带参数的别名。 我已经看到功能可以用作别名,所以我尝试但我没有做到.. 在我之前: alias gitall="git add . ; git commit -m 'update' ; git push" 但是我希望能够修改我的提交: function gitall() { "git add ." if [$1 != ""] "git commit -m $1" else "git commit -m 'update'" fi "git push" } (我知道这是一个可怕的git实践)
98 bash  shell  alias  zsh  zshrc 

11
安装后找不到Gulp命令
我安装了gulp(全局),因为它运行了以下代码,所以看起来像是在工作: ├── tildify@0.2.0 ├── interpret@0.3.5 ├── pretty-hrtime@0.2.1 ├── deprecated@0.0.1 ├── archy@0.0.2 ├── minimist@0.2.0 ├── semver@2.3.2 ├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5) ├── chalk@0.5.1 (escape-string-regexp@1.0.1, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0) ├── gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, dateformat@1.0.8-1.2.3, vinyl@0.2.3, through2@0.5.1, multipipe@0.1.1, lodash.template@2.4.1) ├── liftoff@0.12.0 (extend@1.2.1, minimist@0.1.0, resolve@0.7.4, findup-sync@0.1.3) └── vinyl-fs@0.3.5 (graceful-fs@3.0.2, lodash@2.4.1, mkdirp@0.5.0, strip-bom@0.3.1, vinyl@0.2.3, through2@0.5.1, glob-watcher@0.0.6, …
97 macos  bash  terminal  npm  gulp 


6
在while循环内以bash读取输入
我有一个bash脚本,类似于以下内容, cat filename | while read line do read input; echo $input; done 但这显然不能提供正确的输出,因为当我在while循环中读取时,由于可能的I / O重定向,它试图从文件文件名读取。 还有其他方法可以做到吗?
97 bash  while-loop 

4
在纯bash中使用regexp提取子字符串
我正在尝试使用bash从字符串中提取时间,并且很难弄清楚时间。 我的字符串是这样的: US/Central - 10:26 PM (CST) 我想提取10:26一部分。 有人知道仅使用bash可以执行此操作的方法-不使用sed,awk等吗? 就像,在PHP中,我将使用-不是最好的方法,但它可以正常工作-类似: preg_match( ""(\d{2}\:\d{2}) PM \(CST\)"", "US/Central - 10:26 PM (CST)", $matches ); 感谢您的帮助,即使答案使用sed或awk
97 regex  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.