Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
rpm规范文件中这行bash脚本中的| |:是做什么的?_Bash_Rpm Spec - Fatal编程技术网

rpm规范文件中这行bash脚本中的| |:是做什么的?

rpm规范文件中这行bash脚本中的| |:是做什么的?,bash,rpm-spec,Bash,Rpm Spec,在rpm spec文件中,每一行都以| |: 以下代码的意义是什么:为什么存在?它会导致忽略任何错误,从而不会取消rpm操作 |如果上一个命令失败,则会导致下一个命令运行,并且:始终成功。它会吞下退出代码 |如果之前的操作失败(即,具有非零退出代码),则在之后执行操作:是“不做任何事情”命令。把它们放在一起 ln -s /var/log/$SERVICE_NAME $RPM_INSTALL_PREFIX/logs || : 你的说法是,“做软链接或者什么都不做”这只是一种手段或手段。您可以尝试

在rpm spec文件中,每一行都以
| |:


以下代码的意义是什么:为什么存在?

它会导致忽略任何错误,从而不会取消rpm操作


|
如果上一个命令失败,则会导致下一个命令运行,并且
始终成功。

它会吞下退出代码

|
如果之前的操作失败(即,具有非零退出代码),则在之后执行操作<代码>:是“不做任何事情”命令。把它们放在一起

ln -s /var/log/$SERVICE_NAME $RPM_INSTALL_PREFIX/logs || :

你的说法是,“做软链接或者什么都不做”

这只是一种手段或手段。您可以尝试这样的小测试

`||` is OR operator. `:` means "do nothing". 

如果文件不存在,则会打印回显。尝试使用现有文件,它不会

我知道其他人已经回答了,但我更愿意:

命令| |/bin/true

这使得下一个阅读bash脚本/规范文件的人更容易理解

ls nofile-here-like || echo 'Not here'