長い間、私はそれに悩まされてきましたが、本当にうんざりしています。たとえば、2つのディレクトリを比較するtestscriptというスクリプトがあります。授業で教授は次のように入力するだけで済みます。
testscript dir1 dir2
出力を取得するには、テストスクリプトの前に./を追加してEnterキーを押す必要があります。次に、次の行にdir1とdir2を入力します。
教授はどうやってそれをやったのですか? bashrc に関することでしょうか? 仕組みがまったくわかりません。関連しているのであれば、Linux 初心者なので、わかりやすい簡単な言葉で説明してください。ありがとうございます!
答え1
スクリプトを含むディレクトリをPATH
変数に追加する必要があります:
export PATH="$PATH:/path/to/dir"
または追加することもできます現在ディレクトリを次の場所にPATH
:
export PATH="$PATH:."
後者にはセキュリティ上の欠点けれど。
答え2
これを行う別の方法は、bashrc ファイルにエイリアスを追加することです。
vim ~/.bashrc
私の bashrc ファイルは次のようになります:
# .bashrc
alias coredb='psql -h 172.x.x.x -U jboss jbossdb'
alias psql='psql -h 172.x.x.x -U rkah portal_db'
alias opendb='psql -h 172.x.x.x -U rkah portal_db'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
alias menu='bash ./menuScript.sh'
alias vi='vim'
alias と書かれているところを見ると、まさにその方法で追加できることがわかります。たとえば、次のように入力します。
alias testscript='bash ./testscript.sh'
答え3
ファイルの最後に次の行を追加する必要があります.bashrc
。
PATH=$PATH:.
これを行うには、次のコマンドを入力します。
echo "PATH=$PATH:." >> ~/.bashrc
その後、新しいシェルを起動して動作させる必要があります
答え4
他に考えられる方法としては、特別な実行可能スクリプトとプログラムを 1 つのディレクトリに集めて、それを PATH ステートメントに配置することです。こうすれば、PATH 変数で恐ろしい「.」(ドット) を使用する必要がなくなりますが、それでも必要な処理は実行されます。