まず、ディレクトリにCDを入れずに単一のコマンドを使用して、長いパスに存在するシェルスクリプトをどのように実行できますか?

まず、ディレクトリにCDを入れずに単一のコマンドを使用して、長いパスに存在するシェルスクリプトをどのように実行できますか?

Linuxでは、常にcd長いパスを選択してスクリプトを実行します。

cd /scratch/someDir/someOthernestedDir/
./shellscriptName.sh 

このように長いパスを入力せずに1つの手順でコマンドを実行するにはどうすればよいですか?

どんなパスでも、次のことが私が望むことをする必要があります。

executeMyCommand

PS:私はCシェルを使っています。

[subhrcho@slc04lyo bin]$ echo $0
csh

答え1

フルパスを指定せずにスクリプトを実行する3つの主な方法があります。

  1. スクリプトを含むディレクトリを追加すると、$PATH他のプログラムと同様に、任意のディレクトリで名前でスクリプトを実行できます。を使用している場合は、csh以下を次の項目に追加してください~/.cshrc

    set path = ($path /scratch/someDir/someOthernestedDir/)
    
  2. すでにパスにあるディレクトリにスクリプトへのリンクを配置します。例えば/usr/bin:

    ln -s /scratch/someDir/someOthernestedDir/shellscriptName.sh /usr/bin
    
  3. エイリアスを @EightBitTony に設定します。提案、次の行を次の行に追加します~/.cshrc

    alias executeMyCommand '/scratch/someDir/someOthernestedDir/shellscriptName.sh' 
    

答え2

コマンドエイリアス。

alias name definition

例えば

alias executeMyCommand '/scratch/someDir/someOthernestedDir/shellscriptName.sh'

ここから

コマンドエイリアスの追加

コマンド別名を作業環境の永続的な部分にします。

  1. シェル起動ファイル.cshrcを編集し、エイリアスを定義する行を追加します。
  2. 変更を保存してエディタを終了します。
  3. 変更をすぐに適用するには、シェルのスタートアップファイルを入手してください。たとえば、

    ソース.cshrc

関連情報