切换文件不可变

时间:2012-09-28 20:49:00

标签: bash file-attributes

我要制作一个简单的小bash脚本来切换一些文件(特别是我的桌面图标,以便它们在不应该移动时不会移动)

我有命令使文件[im]可变:

sudo chattr +i ~/.config/xfce4/desktop/icons*

但是,要使脚本切换状态,我需要检查状态,并采取相应的行动。但我不太擅长bash-code而且一些谷歌搜索没有提出任何解决方案

答案可能与'lsattr'和'grep'有关,但我不确定他们应采取哪种形式......

(如果答案可以是if语句的形式,那将是可爱的:D)

1 个答案:

答案 0 :(得分:1)

也许

for file in ~/.config/xfce4/desktop/icons*
do
     sudo chattr \
       $(lsattr "$file" | cut -c 5 | fgrep -q 'i' \
            && echo "-i" || echo "+i") \
       "$file"
done

非常低效,但......

作为“if” -

  if lsattr "$file" | cut -c 5 | fgrep -q 'i'
  then
        # whatever
  fi