我不知道是否有一个更简单的方法来在bash中执行脚本,只要这个脚本存在。我要的是等价于:如何在bash中执行脚本?
if [ -x $name ]
then
$name
fi
或
[ -x $name ] && $name
我所寻找的是类似
exec_if_exist $name
免去了脚本的名称的重复。
有没有办法在bash中简化这个? 我不想要一个函数或“推测”执行,这会给命令找不到错误。
最佳
我不知道是否有一个更简单的方法来在bash中执行脚本,只要这个脚本存在。我要的是等价于:如何在bash中执行脚本?
if [ -x $name ]
then
$name
fi
或
[ -x $name ] && $name
我所寻找的是类似
exec_if_exist $name
免去了脚本的名称的重复。
有没有办法在bash中简化这个? 我不想要一个函数或“推测”执行,这会给命令找不到错误。
最佳
您可以用type
命令有所简化它。通过测试,它需要文件的完整路径或相对路径。用type
它将搜索PATH。
type $name && $name
它也是不错的,因为它把成功的标准输出和失败上STDERR,让您在输出完全控制
# mute success
type >/dev/null
# mute fail
type 2>/dev/null
# mute both
type &>/dev/null
所以想''rm'命令删除文件如果存在像'rm -f script.sh'的权利?在你的情况下,你想执行它。 –
我想了一件更简单的事情:test -x $ name && $ _ – Jaro