シェルスクリプトを保存する一般的な良い方法は何ですか? (強打、シェン、...)
現在私のディレクトリ$HOME
にbashスクリプトとshスクリプトがあります。
私はそれらを使って呼び出す
$ bash $HOME/script1.bash arg1, arg2, ...
または
$ sh $HOME/script2.sh arg1, arg2, ...
標準の場所に保存し、通常のアプリケーション(たとえば、、、ls
... pwd
)で呼び出すことはできますか?例えば
$ script1 arg1, arg2, ...
$ script2 arg1, arg2, ...
高度なLinuxユーザーの一般的な慣行は何ですか?
ベストアンサー1
ファイルシステムに属するスクリプトを保存し、bin
ホームディレクトリにディレクトリを作成できます。次へ追加
if [ -d "$HOME/bin" ] ; then
export PATH="$HOME/bin:$PATH"
fi
.bashrc
すべての実行可能ファイルを検索可能にします~/bin
。最後に、ディレクトリにファイルを追加するだけです。シンボリックリンクを使用してから検索したいスクリプトを指すことができます~/bin
。これにより、スクリプト名を仮想に変更し、ファイルシステム上の任意の場所に保持できます。たとえば、ファイルの場合は、my_script.sh
まずファイルが実行可能であることを確認してください。
chmod u+x my_script.sh
次にシンボリックリンクを作成します。
ln -s my_script.sh ~/bin/my_script
専用フォルダにあります。便宜上、拡張機能を削除しました。これで、コマンドを使用してどこからでもスクリプトを実行できますmy_script
。my_script.sh
ソースファイルを編集するたびにシンボリックリンクを作成する必要はありません。
編集する:一部のインタプリタを介してテキストファイルを実行可能にするには、次のものを使用できます。シェルボーン。 bashスクリプトの場合、これは追加を意味します。
#!/bin/bash
ファイルの最初の行に。この技術はbashスクリプトに限定されず、Pythonでも動作します。
#!/usr/bin/env python
メモ:個人的な好みに応じて個人的に使用し~/.local/bin
ますが、ほとんどの人は隠されたディレクトリではなく家に直接あるディレクトリを使用します。多くのディストリビューションはそれを直接統合しています。たとえば、debian または ubuntu は、対応するディレクトリがある場合は自動的に追加します (提供されるデフォルトファイルにあります)。私の選択は、すでに多くのソフトウェアでそれを使用しているという事実に基づいていました。~/bin
bin
PATH
.profile
.local/share