我创建了一些别名,并一个接一个地使用它们。它总是取决于前一个命令是否成功。
根据屏幕输出,是否可以对多个命令使用一个别名?例如:当输出包含“失败”或“错误”时,不应设置下一个命令。
答案1
通常,命令失败由其非零退出状态表示。在这种情况下,使用&&
可以解决您的问题:
ls /nonexistent-file && echo This won\'t be printed
如果需要检查输出,可以使用grep
and ||
:
echo fail | grep 'fail\|error' || echo This won\'t be printed
不要忘记引用别名内容:
alias safe-ls='ls /nonexistent-file && echo This won'\''t be printed'
如果您需要命令参数,则必须使用函数:
safe-ls () {
ls "$1" && echo This won\'t be printed
}