bash脚本可能需要root权限

时间:2014-10-28 21:30:06

标签: linux bash permissions root

我正在尝试学习bash脚本。我写了一个脚本,将空格转换为文件名中的下划线。它工作正常。到目前为止一切都很好。

我的脚本可能会进入某个目录,其中包含另一个用户拥有的文件(例如root或www-data)。

我的脚本无法幸运地转换这些文件:)但我更喜欢警告信息,例如“你需要root权限”等。

这是转换块:

if  [[ $# -eq 2 ]]; then
    echo "Converting directory $2 .."
    find . -name '* *' | while read file
    do
        target=`echo "$file" | sed 's/ /_/g'`
        mv "$file" "$target" 2> /dev/null
    done
else
    fOptionE (produces usage message)
fi

你能帮我找到一个正确的方法来返回“需要root权限”输出吗?

3 个答案:

答案 0 :(得分:0)

您是否已获得脚本的执行权限

chmod u+x your_script.sh
./your_script.sh

答案 1 :(得分:0)

尝试查看文件是否可写:

if [ ! -w "$file" ]
then
  echo "The file is NOT writable"
else
  echo "The file is writable"
fi

答案 2 :(得分:0)

试试这个:

if [ x"`whoami`"x != x"root"x ]
then
    : # do something
fi