如何在bash中编写命令? (对于用户测试,如果程序返回分段错误,则删除锁定文件。)
su -c "/usr/local/bin/test || if $? > 0 then rm -fr /var/run/test.lock " test
答案 0 :(得分:4)
$?在执行su
命令之前扩展双配额。
你不需要检查$? - 只有在测试失败时才会执行||
的右侧部分:
su -c "/usr/local/bin/test || rm -fr /var/run/test.lock " test
答案 1 :(得分:1)
su -c "/usr/local/bin/test || if [ $? -gt 0 ]; then rm -fr /var/run/test.lock; fi" test
或
su -c "/usr/local/bin/test || [ $? -gt 0 ] && rm -fr /var/run/test.lock" test