我遇到了一个bash脚本,该脚本在一个函数中运行以下命令
set -e
rm -rf some_dir/* && :;
&& :;在这方面的目的是什么?
编辑:
我知道这是的同义词&& true,但现在我不了解它为何绕过set -e
尝试一下,我看到运行以下命令
#!/bin/bash -e
# false
echo false alone return 1 and fail with -e
false || true
echo "false || true return $?"
false || :;
echo "false || :; return $?"
false && true
echo "false && true return $?"
false && :;
echo "false && :; return $?"
false && :
echo "false && : return $?"
产出
false alone return 1 and fail with -e
false || true return 0
false || :; return 0
false && true return 1
false && :; return 1
false && : return 1
慕村225694