升级为glob目录?

时间:2014-07-09 20:01:53

标签: bash osx-mavericks

在OS X上,我正在编写一个以用户身份运行的bash脚本,而不是root用户。我经常需要升级到root来运行某些命令。

在一个部分中,我试图使用权限drwx ------迭代root拥有的目录的内容,这意味着我不能将目录的内容作为普通用户进行遍历。< / p>

这不起作用:

sudo for files in "/System/Library/User Template"/*
  do
   some command "$files"
  done

我想做的是:

for files in "/System/Library/User Template"/*
  do
   sudo some command "$files"
  done

这是一个新的系统引导程序脚本,因此我想将所有内容保存在一个脚本中,我绝对不能以root身份运行整个程序。我想知道:

  1. 如果有正确的方法可以在for循环中升级到glob目录。
  2. 如果我应该以root用户身份更改权限,请运行代码,重新更改权限。

1 个答案:

答案 0 :(得分:0)

我认为您只能考虑调用另一个以root用户身份运行的脚本,并使用sudo

虽然你可以从输入中运行bash读取命令:

    sudo bash -s <<'EOD'
for files in "/System/Library/User Template"/*; do
    some command "$files"
done
EOD