bashでエイリアスが機能しない - ログインシェル

bashでエイリアスが機能しない - ログインシェル

~/.bashrcとにエイリアスを定義しました~/.bash_profile

alias e='echo'

コマンドを実行するとき:

bash -c 'e hello'

次のようにエラーが表示されます。

bash: e: command not found

しかし、対話型bashシェルでは、コマンドを実行するe hellohello

答え1

以下を介して電話する場合bash:

bash -c 'cmd'

これはbash非対話型、非ログインシェルになるため、rcスクリプトを選択しません。

消耗品を入手するには、~/.bashrc次に電話してくださいbash

bash -ic 'e hello'

この-iフラグを使用すると、bash対話型の非ログインシェルと呼ばれます。次にファイルをインポートbashします。~/.bashrc

答え2

.profile または同様の ~/.bash_profile に追加

e(){
ECHO_COMMAND=`which echo`
$ECHO_COMMAND "$@"
}

もう一度ログインまたは実行してください。

test@term{~}:source .profile

テストを受けてください:

test@term{~}:e hello
hello

関連情報