【发布时间】:2010-01-19 16:02:31
【问题描述】:
因此,我们的想法是创建一个尝试运行命令的脚本,如果命令失败,它会显示任何警告/错误。我的尝试:
$ cat try.sh
#! /bin/sh
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/temp$$
trap 'rm -f $tempfile >/dev/null 2>&1' 0
trap 'exit 2' 1 2 3 15
echo "$@"
if ! "$@" >$tempfile 2>&1; then
cat $tempfile;
false;
fi
你认为这个脚本还可以吗(可移植性和功能性)?
【问题讨论】:
-
我个人会用 Python 重写它。我很佩服能用 shell 脚本编写出复杂的工作程序的人,但我自己不会冒险。
-
让脚本执行命令有什么让你直接执行命令没有的?
-
@Steve,大概这将是更大脚本的一部分,以在命令没有失败时抑制输出
-
我的直觉是这不适用于复杂的引用命令。我赞同 lpthnc 关于用 Python(或 Perl)编写这篇文章的观点。
标签: linux shell portability