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