我想知道只有在这个脚本存在的情况下,是否有更简单的方法在bash中执行脚本.我想要的相当于:
if [ -x $name ]
then
$name
fi
Run Code Online (Sandbox Code Playgroud)
要么
[ -x $name ] && $name
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是类似的东西
exec_if_exist $name
Run Code Online (Sandbox Code Playgroud)
这消除了重复的脚本名称.
有没有办法在bash中简化这个?我不想要一个函数或"推测"执行,这会给命令找不到错误.
最好
小智 7
您可以使用type
命令对其进行一些简化。在进行测试时,它需要文件的完整或相对路径。有了type
它,将搜索PATH。
type $name && $name
Run Code Online (Sandbox Code Playgroud)
它也很不错,因为它使STDOUT成功,而STDERR失败,从而使您可以完全控制输出
# mute success
type >/dev/null
# mute fail
type 2>/dev/null
# mute both
type &>/dev/null
Run Code Online (Sandbox Code Playgroud)