alias slt=open -a "Sublime Text 2"
执行slt /regular/file
有效。
执行sudo slt /etc/hosts
失败。
sudo: slt: command not found
是什么给出了?
答案 0 :(得分:0)
别名仅为您的本地shell所知。它们在交互式命令输入期间被替换,并且不会被子shell继承。所以sudo根本就没有它。您应该使用shell脚本。
答案 1 :(得分:0)
我设法让root工作。只需修改/root/.bashrc
即可alias sublime ='/ home / kervin / Software / Sublime-Text-2 / sublime_text'
您必须运行它,以验证它。
source .bashrc
重新启动时,.bashrc会自动运行。
然而,只有“su - ”并且成为root用户,而使用“sudo sublime”则不然。
还有其他方法吗?
答案 2 :(得分:0)
要使其工作,请将sudo的别名设为'sudo'。然后bash将扩展你的别名。例如,
$ alias sudo='sudo '
$ alias h='head'
$ h /etc/shadow
head: cannot open '/etc/shadow' for reading: Permission denied
$ sudo h /etc/shadow
root:!:15725:0:99999:7:::
daemon:*:15630:0:99999:7:::