Questions tagged «bash»

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

2
如何突破Bash的循环?
我想编写一个Bash脚本来处理文本,这可能需要while循环。 例如,在C中的while循环: int done = 0; while(1) { ... if(done) break; } 我想写一个等效的Bash脚本。但是,正如我阅读的所有经典示例所示,我通常使用的是: while read something; do ... done 它并没有提供有关如何执行while(1){}和的帮助break;,它已经很好地定义并在C语言中广泛使用,并且我不必读取stdin的数据。 有人可以通过上述C代码的Bash等效项帮助我吗?
150 bash  shell  while-loop 

6
如何使zsh在Mac OS X(在iTerm中)上作为登录Shell运行?
在Mac OS X上将zsh设置为登录shell时,由iTerm启动时,zsh不会将其作为登录shell运行,尽管它以'-zsh'('-'开头arg [0]的第一个字符),这意味着它应该以登录shell开始。 因此,当我将登录shell设置为bash时,bash会识别$ 0中的第一个'-'并作为登录shell运行,但zsh不会,尽管看起来应该如此。 有没有办法使zsh识别arg [0]中的“-”,或者使iTerm使用--login命令行参数运行shell?
149 macos  bash  shell  zsh 

9
如何使Bash脚本中的输出静音?
我有一个程序输出到stdout,并希望在传递到文件时在Bash脚本中使该输出静音。 例如,运行程序将输出: % myprogram % WELCOME TO MY PROGRAM % Done. 我希望以下脚本不向终端输出任何内容: #!/bin/bash myprogram > sample.s
149 bash 


3
查找所有文件名以指定字符串开头的文件?
我的目录中包含大约100000个文件,并且我想对所有以指定字符串开头的文件执行某些功能,该字符串可能匹配成千上万个文件。 我努力了 ls mystring* 但这会返回bash错误“参数过多”。我的下一个计划是使用 find ./mystring* -type f 但这有相同的问题。 代码需要看起来像 for FILE in `find ./mystring* -type f` do #Some function on the file done
148 bash  find 

21
如何使用sed删除文件的最后n行
我想从文件末尾删除一些n行。可以使用sed完成此操作吗? 例如,要删除2到4行,我可以使用 $ sed '2,4d' file 但是我不知道行号。我可以使用删除最后一行 $sed $d file 但我想知道从末尾删除n行的方法。请让我知道如何使用sed或其他方法进行操作。
148 linux  bash  shell  sed 

11
bash:换人错误
#!/bin/bash jobname="job_201312161447_0003" jobname_pre=${jobname:0:16} jobname_post=${jobname:17} 这个bash脚本给我在Ubuntu上的错误替换错误。任何帮助将不胜感激。

12
Github权限被拒绝:ssh add agent没有身份
这是我第一次访问GitHub,对使用控制台没有经验。我在使用Bash的MacBook上。当我尝试访问GitHub时,得到以下信息: git clone git@github.com:dhulihan/league-of-legends-data-scraper.git Cloning into 'league-of-legends-data-scraper'... Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 我尝试按照Github页面上有关拒绝权限的说明进行操作。 使用时ssh -vT git@github.com,我得到以下信息: OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading configuration data /etc/ssh_config debug1: /etc/ssh_config line 20: Applying …

10
在Bash中打印文件的最后修改日期
我似乎找不到如何打印文件的日期。到目前为止,我可以打印出目录中的所有文件,但是我需要打印出日期。 我知道我需要在条目的回显中附加日期格式,但是我找不到正确的格式。 echo "Please type in the directory you want all the files to be listed" read directory for entry in "$directory"/* do echo "$entry" done
147 bash  shell  file  date  unix 

9
如何欺骗应用程序以使其标准输出是终端而不是管道
我正在尝试执行与“ 检测stdin是终端还是管道? ” 相反的操作。 我正在运行一个正在更改其输出格式的应用程序,因为它检测到STDOUT上的管道,并且我希望它认为它是一个交互式终端,以便在重定向时获得相同的输出。 我当时认为将其包装在expect脚本中或proc_open()在PHP中使用可以实现,但事实并非如此。 有什么想法吗?
147 bash  terminal  pipe  stdin 


14
等待过程完成
Bash中是否有任何内置功能来等待进程完成? 该wait命令仅允许一个人等待子进程完成。我想知道在执行任何脚本之前是否有任何方法可以等待任何进程完成。 一种机械的方法如下,但是我想知道Bash中是否有任何内置功能。 while ps -p `cat $PID_FILE` > /dev/null; do sleep 1; done
147 bash  scripting  process  wait 

12
在sh shell中找不到源命令
我有一个使用shshell 的脚本。在使用source命令的行中出现错误。似乎source没有包含在我的sh外壳中。 如果我明确尝试source从shell 运行,则会得到: sh: 1: source: not found 我应该以某种方式安装“源代码”吗?我的版本是否错误sh?
146 bash  shell  sh 

3
如何以没有密码的其他用户身份运行脚本?
我有必须作为user2运行的script.sh。但是,此脚本只能在我的应用程序的user1下运行。 我想运行以下命令: su user2 -C script.sh 但无需密码即可运行。 我也希望这是非常严格的限制,因为在user1中只能在user2下运行script.sh,而不能在其他任何情况下运行。 我已经尝试过使用sudoers文件执行此操作,但经过数小时的尝试,它才变得无穷无尽。 如果有人可以提供一个明确的示例说明如何完成此操作(而不是像use sudoers这样的通用名称),将不胜感激。
145 linux  bash  sudo  su  sudoers 


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.