Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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
双管道后Bash中冒号的含义_Bash - Fatal编程技术网

双管道后Bash中冒号的含义

双管道后Bash中冒号的含义,bash,Bash,我试图理解这段代码: . functions.sh || { : ; echo "Error while loading the specified file" >&2; exit 2; } 当指定的文件不可用时,会调用括号中的代码。但是这是什么呢平均值? 此外,当您删除它时,脚本将不起作用。。分号 不知道为什么有人会写上面的内容,基本上是“什么都不做,然后做echo”,这似乎可以简化。可能是某人的复制粘贴行李。但是如果你写这个:。functions.sh |{echo“加载指定

我试图理解这段代码:

. functions.sh || { : ; echo "Error while loading the specified file" >&2; exit 2; }
当指定的文件不可用时,会调用括号中的代码。但是这是什么呢平均值? 此外,当您删除它时,脚本将不起作用。

。分号


不知道为什么有人会写上面的内容,基本上是“什么都不做,然后做
echo
”,这似乎可以简化。可能是某人的复制粘贴行李。

但是如果你写这个:
。functions.sh |{echo“加载指定的文件“>&2;exit 2;}”时出错
然后它就不工作了-exit命令可能需要它,我猜。无需担心。。我忘了在后面加一个空格{symbol.非常感谢!:)
do|u something | |:
是一个成语,意思是忽略
do|u something
的失败,如果启用了
set-e
AKA
set-o errexit
,它将结束整个脚本。为了补充马丁的评论,可能有其他人不理解
cmd| |:
成语,而不是replace
使用日志消息,将其保存在一个新的命令组中。Autoconf使用:到处重置$?状态,其中一些Shell在if块后会出错…通常不推荐使用。(但我们仍然支持可怕的Solaris/bin/sh!)