CAB*_*CAB 7 linux bash alias sudo
作为一个简单的例子,在用户foo的〜/ .bashrc中有一个别名;
alias ll='ls -l'
Run Code Online (Sandbox Code Playgroud)
使用sudo我可以看到别名已设置;
bar@laptop:~$ sudo -u foo -i alias ll
alias ll=`ls -l'
Run Code Online (Sandbox Code Playgroud)
但是,我实际上不能使用别名;
bar@laptop:~$ sudo -u foo -i ll
-bash: ll: command not found
Run Code Online (Sandbox Code Playgroud)
作为bash函数的命令工作正常.有没有办法让别名也起作用?
Gor*_*Gor 10
尝试:
alias sudo='sudo '
Run Code Online (Sandbox Code Playgroud)
http://www.shellperson.net/using-sudo-with-an-alias/
Archlinux wiki 中有一个很好的例子说明了如何做到这一点。将以下内容添加到您的 .bashrc
alias sudo="sudo "
Run Code Online (Sandbox Code Playgroud)
不要问我为什么它有效。我在我的手册页中搜寻过这个内容,但没有成功,但它从未让我失望过。
> sudo ll
total 60
drwxr-xr-x 2 brice users 4096 Feb 4 16:17 classes
drwxr-xr-x 3 brice users 4096 Mar 6 21:48 Desktop
drwx------ 6 brice users 4096 Mar 28 21:32 Downloads
drwx------ 25 brice users 4096 Mar 29 21:20 Dropbox
drwxr-xr-x 2 brice users 4096 Mar 11 20:27 scripts
drwxr-xr-x 2 brice users 4096 Mar 19 21:59 tmp
Run Code Online (Sandbox Code Playgroud)