Tag: bash

如何从bash脚本并行运行多个程序?

我正在尝试编写一个同时运行多个程序的.sh文件 我试过这个 prog1 prog2 但是,运行prog1,然后等待prog1结束,然后启动prog2 … 那么我怎样才能平行运行呢?

如何循环查找由find返回的文件名?

x=$(find . -name "*.txt") echo $x 如果我在Bash shell中运行上面这段代码,我得到的是一个包含多个空格分隔的文件名的string,而不是一个列表。 当然,我可以进一步将它们分开,以获得一个清单,但我相信有一个更好的方法来做到这一点。 那么循环find命令的结果的最好方法是什么?

如何检测脚本是否被find

我有一个脚本,我不希望它调用exit如果它是来源。 最初,我虽然检查$0 == bash但如果脚本来自另一个脚本,或者如果用户从ksh源它,这有问题。 是否有一个可靠的方法来检测脚本是否来源?

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之后: 语法错误:意外的文件结束

我怎样才能在bash中重复一个字符?

我怎么能用echo来做到这一点? perl -E 'say "=" x 100'

如何运行脚本作为另一个用户没有密码

我有script.sh,必须以user2运行。 但是,此脚本只能在我的应用程序的user1下运行。 我想要运行下面的命令: su user2 -C script.sh 但能够运行没有密码。 我也希望这是非常严格的,因为在user1中只能运行user2下的script.sh而没有别的。 我试着用sudoers文件来做这个,经过几个小时的尝试后,我感到困惑不解。 如果有人可以提供一个明确的例子来说明如何完成(而不是像使用sudoers那样的通用types),那么将不胜感激。

如何检测我的shell脚本是否通过pipe道运行?

如何从shell脚本中检测其标准输出是否定位到terminal或者是否通过pipe道连接到另一个进程? (例子:我想添加转义码来着色输出,但是只有在交互式运行时,而不是在input时,类似于ls –color所做的。

用或不用导出定义一个variables

什么是export ? 有什么区别: export name=value 和 name=value

在Bash中处理错误

什么是你最喜欢的方法来处理在Bash中的错误? 处理我在网上发现的错误的最好的例子是由William Shotts,Jr在http://www.linuxcommand.org撰写的。 他build议在Bash中使用以下函数进行error handling: #!/bin/bash # A slicker error handling routine # I put a variable in my scripts named PROGNAME which # holds the name of the program being run. You can get this # value from the first item on the command line ($0). # Reference: This was copied from <http://www.linuxcommand.org/wss0150.php> PROGNAME=$(basename […]

如何确定我正在工作的当前shell?

我如何确定我正在使用的当前shell? ps命令的输出是否足够? 这怎么能在不同的UNIX中完成呢?