bash – 测试特定权限的文件

我有一个脚本,我想测试一个文件的特定权限,特别是0644,如果不是那么chmod它.

我知道我可以只是chmod它并让它落下以防它已经是那样但我想打印一条消息,它是以前的价值.

MYFILE=./myfile

为了便于阅读,我使用的是u = rw,go = r而不是octal 0644.
我假设您希望设置缺少的权限,但如果存在额外的权限,您希望让它们保持原样.
一步步:

PREV_PERM="`find \"\$MYFILE\" \! -perm -u=rw,go=r -ls`"
echo "$PREV_PERM"
chmod u+rw,go+r "$MYFILE"

或者将它组合成整齐的单线:

find "$MYFILE" '!' -perm -u=rw,go=r -ls -exec chmod u+rw,go+r "$MYFILE" ';'

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...