ln -s /var/log/$SERVICE_NAME $RPM_INSTALL_PREFIX/logs || :
在rpm规范文件中,每一行都以|| :
|| :
有什么意义?为什么会这样?
答案 0 :(得分:12)
它会导致忽略任何错误,因此不会取消rpm操作。
如果上一个命令失败, ||
会导致下一个命令运行,:
总是成功。
答案 1 :(得分:3)
它吞下退出代码。
如果它之前的东西失败(即,具有非零退出代码), ||
会在它之后执行操作。 :
是“无所事事”命令。把它们放在一起......
答案 2 :(得分:2)
`||` is OR operator. `:` means "do nothing".
你的陈述说,“做软链接或什么都不做”
答案 3 :(得分:2)
我知道其他人已经回答了,但我更愿意提出:
command || /bin/true
恕我直言,这对于正在阅读bash脚本/ spec文件的下一个人来说更加明显。
答案 4 :(得分:1)
这只是意味着OR。您可以尝试像这样的小测试
ls nofile-here-like || echo 'Not here'
如果文件不存在echo将打印出来。尝试使用现有文件,它不会