有没有办法使用 shell(尤其是 Bash)条件来检查确切的文件模式,例如 [[ -mode 0755 ]]



假设我有一个活动设置,我希望某个文件始终具有由以下定义确切的文件模式:

chmod 0671 someoldfile.something

我知道我总是可以 chmod 它来获得它,但只是测试以确保它具有模式 0671 会不那么侵入。 我希望会有一些测试,例如:

if [[ -mode 0671 ]]
then
echo "I am so happy."
else
echo "I am so sad."
fi

对不起,如果这应该是显而易见的,但我确实环顾四周,我不是外壳新手,所以我知道这不是每个人都知道的事情。

我用谷歌搜索过,但它总是只是提出如何使用chmod。

见上文1。

你不能直接使用[[test,但你可以使用find

if [ "$(find "someoldfile.something" -perm 0671)" ]
then
echo "The mode is exactly 0671"
fi

这是POSIX兼容的。

最新更新