[分享]以管理员身份操作文件
发表于 : 2008-01-10 21:57
有些文件必须以管理员身份操作,只有在终端里打命令,很麻烦。
本人初学shell,写了一个小脚本,可以在图形界面下以管理员身份复制剪切删除。将附件里的脚本文件复制到~/.gnome2/nautilus-scripts/。在右键->脚本 中即可见。
进入sudo文件夹。
我也是新手,有bug的地方请见谅。
若想以管理员身份运行程序,请安装
PS:水平有限,将脚本贴出,粘贴重名时不知道如何改名,只能覆盖,请高手完善。
本人初学shell,写了一个小脚本,可以在图形界面下以管理员身份复制剪切删除。将附件里的脚本文件复制到~/.gnome2/nautilus-scripts/。在右键->脚本 中即可见。
进入sudo文件夹。
代码: 全选
cp ./* ~/.gnome2/nautilus-scripts/
若想以管理员身份运行程序,请安装
代码: 全选
sudo apt-get install nautilus-gksu nautilus-open-terminal
代码: 全选
#!/bin/bash
#复制
echo $PWD > ~/.gnome2/nautilus-scripts/copyfile
echo 0 >> ~/.gnome2/nautilus-scripts/copyfile
i=0
c=$#
while [ $i -lt $c ]
do
echo $1 >> ~/.gnome2/nautilus-scripts/copyfile
shift
i=$[$i+1]
done
代码: 全选
#!/bin/bash
#粘贴
IFS="
"
todir='.'
i=1
function copy()
{
if [ $sign -eq 0 ];then
gksudo "cp -r $fromdir/$fromfile $todir/$tofile"
else
gksudo "mv -f $fromdir/$fromfile $todir/$tofile"
fi
}
for recard in $(cat ~/.gnome2/nautilus-scripts/copyfile)
do
if [ $i -eq 1 ];then
fromdir=$(echo $recard | sed 's/\([ ]\+\)/\\ /g')
i=$[$i+1]
elif [ $i -eq 2 ];then
sign=$recard
i=$[$i+1]
else
recard=$(echo $recard | sed 's/\([ ]\+\)/\\ /g')
fromfile=$recard
tofile=$recard
copy
gksudo chmod 755 $todir/$tofile
fi
done
代码: 全选
#!/bin/bash
#删除
dir='.'
for file
do
file=$(echo $file | sed 's/\([ ]\+\)/\\ /g')
gksudo "rm -r $dir/$file"
done