web-dev-qa-db-ja.com

bashスクリプトはどこに置くべきですか

私は、定期的に行うことのために一緒にまとめた非常に単純なbashスクリプトをいくつか持っています。それらの1つは、バックアップタスクを実行するために複製を実行することです。 if .. thenステートメントの単なる束のような賢いものは何もありません。これはSudoとして実行する必要があるため、スクリプトを/ usr/bin(またはPATHの他の場所)に置き、root.rootにchownし、700にchmodするのがベストプラクティスですか?

15
hatterman

自分のスクリプトを/opt/scriptsに保存します。

すべてのシステムユーザーがスクリプトを実行できるようにする場合は、/usr/binへのシンボリックリンクを作成できます。

Rootのみがスクリプトを実行する必要がある場合、/usr/sbinへのシンボリックリンクを作成できます。

/usr/bin/にシンボリックリンクを追加するコマンド:

ln -s /opt/scripts/<script> /usr/bin/

/usr/bin/がデフォルトでPATHにあるため、スクリプトを実行できます。

3
SynPrime

あなた以外のユーザーがこれらのスクリプトを使用していない場合:

その後、/home/$USER/binに保存できます。 binフォルダーが存在しない場合は作成し、そこにファイルを移動します。ホームのbinフォルダーは、PATH環境変数に自動的に追加されます。コードは.profileにあります:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

/ home/username/binを$ PATHに追加する方法 を参照してください

または、一部のシステムでは.bashrcにあります。

export PATH=${HOME}/bin/:${HOME}/.local/bin:${PATH}

ありがとう オタク長老

これらのスクリプトを他のユーザーが使用する場合:

/usr/local/binまたは/opt/binのいずれかが適切なオプションです。 カスタムLinuxスクリプトを配置するための標準的な場所はありますか? を参照してください。

お役に立てれば

17
user68186

ローカルツールや、さまざまなコンピューターに展開するものを/usr/local/apolloですばやく収集するために使用するディレクトリがあります。 flagsbin、およびlogsには、このディレクトリの外にブランチがあります。

デフォルトのapt-getリポジトリの外部にダウンロードしてインストールするアプリケーションの場合、/opt/およびアプリケーション名別のディレクトリに配置され、特定のバージョンのアプリケーション用のサブディレクトリがもう1つあります。このようにして、vlcEclipseなどのアプリケーションのコンパイル済みバージョンは、分散バージョンと競合しません。

/optの私の使用は、基本的に公式に設計された方法です。

ちなみに、ディレクトリ/usr/local/bin/usr/local/apollo、および/optは、OSバージョンの新規インストールの上書き後も存続します。

3
L. D. James