sudo -sソース/ホーム/ユーザー名/.bashrc

sudo -sソース/ホーム/ユーザー名/.bashrc

私のGNU / Linux Debian 9で以下を実行したいと思います:

sudo -s source /home/UserName/.bashrc

このように別名を別々に定義したいのですが、名前を で指定しますsu2

そのようなコマンドは実行できません。

コマンドは正常に実行されますが、期待どおりに実行されません。

それを呼ぶと何も起こらないようです。私も根を抜くことはできません。

なぜこのようなことが起こるのか混乱しています。

だから私が望むものは:

  1. 私をルートのように:

    sudo -s
    
  2. ソース鉱山個人のbashrcと次のエイリアス:

    source /home/UserName/.bashrc
    source /home/UserName/.bash_aliases
    

それはすべてです。

答え1

source組み込みシェルなので実行できません。渡す sudo。次は動作します。

sudo bash --rcfile /home/UserName/.bashrc

.bash_aliases通常は(デフォルトではBashではサポートされていません)によって処理されます.bashrc

if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases; fi

エイリアスを正しく処理するには、次のように置き換えることができます。

if [ -f /home/UserName/.bash_aliases ]; then . /home/UserName/.bash_aliases; fi

関連情報