分页: 1 / 1

[分享]以管理员身份操作文件

发表于 : 2008-01-10 21:57
liujingjing5
有些文件必须以管理员身份操作,只有在终端里打命令,很麻烦。
本人初学shell,写了一个小脚本,可以在图形界面下以管理员身份复制剪切删除。将附件里的脚本文件复制到~/.gnome2/nautilus-scripts/。在右键->脚本 中即可见。
进入sudo文件夹。

代码: 全选

cp ./* ~/.gnome2/nautilus-scripts/
我也是新手,有bug的地方请见谅。
若想以管理员身份运行程序,请安装

代码: 全选

sudo apt-get install nautilus-gksu nautilus-open-terminal
PS:水平有限,将脚本贴出,粘贴重名时不知道如何改名,只能覆盖,请高手完善。

代码: 全选

#!/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

发表于 : 2008-01-11 10:47
tongttt
学习一下。