2016-05-13 16 views
5

sudoコマンドに現在のユーザーのエイリアスを渡す方法を見て、私は次のようon ArchWikiが見つかりました:`alias sudo =" sudo "`はどのように動作しますか?

あなたは別名の多くを使用している場合、あなたは彼らがいない を行うことに気づいたかもしれません

別名渡しますsudoを使用するときにrootアカウントに引き継がれます。しかし、彼らを働かせる簡単な方法は です。単にあなたの ~/.bashrc/etc/bash.bashrcに次の行を追加します。

alias sudo='sudo '

この作品、なぜ私は得ることはありません。シェルが2つのコマンドの間にいくつのスペースがあるか気にしない場合、どのように影響しますか?

手動でスペースを追加するとき、私は何の違い参照:sudoの+スペースに

$ alias e=echo 
$ sudo e foo 
sudo: e: command not found 
$ sudo e foo    # Manual space addition 
sudo: e: command not found # Fail 
$ alias sudo="sudo "  # Now with alias 
$ sudo e foo 
foo      # Succeeds, but why? 

目に見えエイリアシングsudoは何とかエイリアスを渡すことができます。これはzshbash、およびshで動作するため、シェル固有の動作ではありません。

このエイリアスはどのように機能しますか?エイリアスのmanページを見てみると

+3

これはちょうどそれをしない、理解するためのものではありません。 sudoにエイリアスを起動させることは、あなたの首の周りにうねりを持つ靴のついた3本の脚に立つことと同じくらい良いアイデアです。 –

答えて

関連する問題