.bash_aliases
ファイルに新しいエイリアスを定義するか、.bashrc
ファイルに新しい関数を定義すると、ターミナルを閉じずに新しいエイリアスまたは関数をすぐに使用できるリフレッシュコマンドがあります(私の場合はxfce4-いくつかのタブが開かれ、多くのファイルが開かれ、作業の途中にあるターミナル)?
変更されたファイルをソーシングすると、現在のターミナルで新しく書き込まれたエイリアスまたは関数にアクセスできます。次に例を示します。
source ~/.bashrc
代替構文:
. ~/.bashrc
ターミナルで多数のbashのインスタンスを実行している場合(複数のタブについて言及した場合)、すべてのインスタンスでこれを実行する必要があることに注意してください。
コマンドラインで. ~/.bashrc
と入力すると.bashrc
が実行され、そのファイルで定義されている関数が作成されます。
次に、.bashrc
自体も、.bash_aliases
に次のコードが含まれている場合、.bashrc
(if存在する場合)を呼び出して実行します。
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
一方、. ~/.bash_aliases
を単独で(たとえばコマンドラインで)使用すると、.bashrcを使用せずに.bash_aliases
を実行しようとするだけで、ファイルが存在しない場合はエラーが発生します(そのため、 .bashrc
)。
エイリアスを関数にしたい場合がありますが、bashrcファイルをソースにすると、奇妙なエラーが発生することがあります。
. ~/.bashrc
bash: /home/username/.bashrc: line 38: syntax error near unexpected token `('
bash: /home/username/.bashrc: line 38: `hello_world() {'
これは、エイリアス名が新しく定義された関数の名前と競合しているために発生している可能性があります。私の知る限り、これを回避するには、すべてのエイリアスを解除する必要があります。次に、bashrcファイルを入手します。
bash-4.3 $
unalias -a && . $HOME/.bashrc