合格しようとしています。邪悪なクールなシェルスクリプト本。本のコードに従ってスクリプトを作成しました。ここ。端末からコマンドのように呼び出せるように、このスクリプトのエイリアスを作成しようとしています。したがって、どのディレクトリでも簡単に使用できます。
スクリプトの下部に次のコードを入れて実行し、端末を再起動しましたが、動作しません。
alias formatdir='source ./shell_scripts/formatdir.sh'
オンラインで検索しましたが、エイリアスのみを使用してプログラムを実行することはできません。これは可能ですか、それともエイリアスの機能を誤解していますか?
ありがとう
答え1
エイリアスの問題は、相対ディレクトリを使用することです。したがって、作業ディレクトリに関連するスクリプトを探します。したがって、機能させるには絶対パスでエイリアスを定義する必要があります(なぜソースコードを使用したいのですか?)。
別の方法は、次のように入力してスクリプトを含むディレクトリを$PATH
変数に追加することです~/.bashrc
(bashの場合)。
export PATH=~/shell_scripts:$PATH
これにより、formatdir.sh
すべての新しい端末で電話をかけることができます。また、新しいスクリプトごとにエイリアスを作成する必要はありません。