Questions tagged «bash»

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

3
在bash脚本中哪个更惯用:true`或`|| :`?
我并没有做太多的shell脚本编写工作,因此在阅读文档git submodule时我感到有些惊讶,并且看到了它们在本文档中使用的语法: 任何子模块中命令的非零返回都会导致处理终止。可以通过添加|| :到命令末尾来覆盖它。 我必须查找这|| :是强制命令成功退出的简写。每当我必须成功退出命令时,我都会使用|| true。被|| :认为更惯用吗?
36 bash  shell 

3
如何用一个命令在后台运行多个程序?
如何用一个命令在后台运行多个程序? 我已经尝试过下面的命令,但是它们不起作用。 nohup ./script1.sh & && nohup ./script2.sh & -bash: syntax error near unexpected token '&&' nohup ./script1.sh & ; nohup ./script2.sh & -bash: syntax error near unexpected token ';'

4
用bash读取文件中的行:for vs. while
我正在尝试读取文本文件,并使用bash脚本对每一行进行处理。 因此,我有一个看起来像这样的列表: server1 server2 server3 server4 我以为可以使用while循环来遍历,就像这样: while read server; do ssh $server "uname -a" done < /home/kenny/list_of_servers.txt while循环在运行1次后停止,因此仅uname -a在server1上运行 但是,使用cat的for循环可以正常工作: for server in $(cat /home/kenny/list_of_servers.txt) ; do ssh $server "uname -a" done 更让我感到困惑的是,这也行得通: while read server; do echo $server done < /home/kenny/list_of_servers.txt 为什么我的第一个示例在第一次迭代后停止?


12
在数字中添加千位分隔符
在python中 re.sub(r"(?<=.)(?=(?:...)+$)", ",", stroke ) 用三元组拆分数字,例如: echo 123456789 | python -c 'import sys;import re; print re.sub(r"(?<=.)(?=(?:...)+$)", ",", sys.stdin.read());' 123,456,789 bash / awk怎么做?

4
如何删除特定文件夹中具有特定扩展名的所有文件?
如果我将当前目录/工作目录(使用导航到它cd)设置为某个特定目录,然后键入: rm *.xvg 该命令将做什么?这是真的,上面的命令将只删除文件扩展名为.xvg 只有在工作目录? 在询问之前,我对此很紧张,因为我想绝对确定上面的命令将只删除位于工作目录中的.xvg文件。
36 bash  shell  directory  rm 

3
创建数组时出现语法错误:“(”意外)
我有两个(Debian)Linux服务器。我正在创建一个shell脚本。 在第一个数组上,我这样创建了一个数组: #!/bin/bash target_array=( "/home/user/direct/filename -p123 -r" ) 很好 但是,当我在另一台服务器上运行时,我得到: Syntax error: "(" unexpected 据我所知,两台服务器是相同的。谁能阐明为什么这行不通? 如果我直接将其输入终端,那很好吗? 看起来当我以 sh scriptname.sh 我得到了错误,但是如果我以 ./scriptname.sh 看来还可以。有什么不同?

4
$ @除了第一个参数
我需要编写一个以这种方式运行的shell脚本: ./myscript arg1 arg2_1 arg2_2 arg2_3 ....... arg2_# 脚本中有一个for循环 for i in $@ 但是,据我所知,$ @包含$ 1到$($#-1)。但是对于我的程序,$ 1与$ 2 $ 3 $ 4等有明显的不同。我想从$ 2循环到结尾...我如何实现这一点?谢谢:)
36 bash  shell  scripting 


3
了解反引号(`)
我正在尝试命令 $ b=5; echo `$b`; -bash: 5: command not found 但它不会按预期打印5。我在这里想念什么? 命令中的`(反引号/反引号)是什么意思?似乎说可以`评估其中的命令并将其替换为输出。


2
条件结构中的分号
为什么将分号放在一个而不是另一个中? 结果是一样的 代码一 if [ "a" == "a" ] then echo "true" fi 代码二 if [ "a" == "a" ]; then echo "true"; fi 第二个代码中的分号是不必要的吗? 什么时候需要放置分号?
35 bash  scripting 


9
如何打印文件中最长的行?
我正在寻找最简单的方法来打印文件中的最长行。我做了一些谷歌搜索,令人惊讶的是似乎找不到答案。我经常打印文件中最长行的长度,但是我不知道如何实际打印最长行。任何人都可以提供一种解决方案来打印文件中最长的行吗?提前致谢。
35 bash  awk  filter 

7
如何关闭终端而不杀死子终端(不先运行“屏幕”)?
有时我在gnome终端中运行一个应用程序,但随后突然不得不重启gnome或其他东西。我想这个问题的答案也很有用,那么我想在发生某些事情时与SSH断开连接。 Gnome的终端树如下所示: gnome-terminal bash some-boring-process 我可以bash从中“分离” gnome-terminal(或some-boring-process从bash 分离并将其输出重定向到某个地方)吗?如果我只是杀死gnome-terminal,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.