如果我尝试编辑没有写权限的文件并为此创建了一个别名,则我想制作一个shell脚本以使用sudo运行VI。
alias vi=my_script.sh
#!/bin/bash
file=$1
if [ -r $file ]
then
/usr/bin/vi $file
else
sudo /usr/bin/vi $file
fi
但是,无论如何,当尝试编辑时,例如/ etc / hosts,我仍然不被允许编辑它。
我究竟做错了什么?
我已经修改了您的脚本才能正常工作
#!/bin/bash
file=$1
wown=$(/bin/ls -alF $file | awk '{print $3}')
if [ -r $file ] && [ $wown == $USER ]
then
/usr/bin/vi $file
else
sudo /usr/bin/vi $file
fi
而且,如果您希望直接从任何地方访问它,可以将其放在PATH中(例如~/bin/
),而不是为其创建别名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句