ln -s /var/log/$SERVICE_NAME $RPM_INSTALL_PREFIX/logs || :
在RPM規範文件,|| :
||是什麼:在這一行的bash腳本從一個rpm spec文件做?
每行結束是什麼|| :
的意義,它爲什麼存在?
ln -s /var/log/$SERVICE_NAME $RPM_INSTALL_PREFIX/logs || :
在RPM規範文件,|| :
||是什麼:在這一行的bash腳本從一個rpm spec文件做?
每行結束是什麼|| :
的意義,它爲什麼存在?
它會導致任何錯誤被忽略,以便rpm操作不會被取消。
||
導致下一個命令在上一個命令失敗時運行,並且:
總是成功。
它吞下退出代碼。
||
如果它之前的事情失敗(即,具有非零退出代碼),它會做它之後的事情。 :
是「無所事事」的命令。把它們放在一起......
`||` is OR operator. `:` means "do nothing".
你的聲明說,「做軟鏈接或者什麼也不做」
它只是意味着OR。你可以嘗試這樣的小測試
ls nofile-here-like || echo 'Not here'
如果文件不存在,則會打印回顯。嘗試用現有的文件,也不會
我知道別人已經回答了,但我更願意把:
command || /bin/true
恕我直言,這使得很多更明顯的是誰讀的bash旁邊的人腳本/ spec文件。