それは非常に長い間私を悩ませてきました、そして私は本当にそれにうんざりしています。たとえば、2つのディレクトリを比較するtestscriptというスクリプトがあります。クラスでは、教授は単にタイプすることができます
testscript dir1 dir2
出力を取得するには、testscriptの前に./を追加してEnterキーを押す必要があります。次に、dir1とdir2を次の行に入力します
教授はそれをどのように行いましたか?それはbashrcのことで何かですか?私はそれがどのように機能するか決してわかりません。それが関連しているなら、私はLinuxが初めてなので、わかりやすい単純な言語で説明してください。ありがとうございました!
スクリプトを含むディレクトリをPATH
変数に追加する必要があります。
export PATH="$PATH:/path/to/dir"
または、PATH
にcurrentディレクトリを追加することもできます。
export PATH="$PATH:."
ただし、後者には セキュリティ上の欠点 があります。
これを行う別の方法は、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 testscript='bash ./testscript.sh'
.bashrc
ファイルの最後に次の行を追加する必要があります。
PATH=$PATH:.
これを行うには、次のコマンドを入力します。
echo "PATH=$PATH:." >> ~/.bashrc
次に、新しいシェルを起動して機能させる必要があります
考えられるもう1つの方法は、これらの特別な実行可能スクリプトとプログラムを1つのディレクトリに収集し、それをPATHステートメントに入れることです。したがって、恐ろしい「。」を使用する必要はありません。 (ドット)PATH変数内にありますが、それでも望みどおりの結果が得られます。