web-dev-qa-db-ja.com

シェルスクリプトをグローバルにする方法

私はMacのOS 10.6を使用しており、シェルスクリプトについて1つまたは2つのことを学ぼうとしています。私はシェルスクリプトを保存して実行可能にする方法を理解していますが、私は何ができるのか、ファイルをグローバルに保存するためにどこに保存できるのか疑問に思っています(つまり、どのフォルダにいてもアクセス可能).

たとえば、.shファイルを/ Users/username /ディレクトリに保存して実行可能にすると、そのスクリプトはその特定のディレクトリでのみ実行できます。たとえば、/ Users/username/Downloadsに移動すると、スクリプトを実行できません。

また、シェルスクリプトの詳細について学習するためのリソースの提案も役立ちます。ありがとう

62
zebraman

/usr/local/binが最も適切な場所です。 Mac OS Xでは、デフォルトでPATHに含まれています

110
unbeli

従来、このようなスクリプトは~/bin(つまり、ホームディレクトリのbinディレクトリ)または/usr/local/bin/のいずれかに配置されます。前者はスクリプトがあなただけに機能することを意味し、後者は実行できるシステム。

~/binに配置する場合は、PATH環境変数に追加する必要があります。 /usr/local/binはすでにパス上にあるはずです。

35
Bryan Oakley

それを行うには2つの方法があります-

  1. スクリプトをusr/local/binに入れて、実行可能であることを確認します(chmod + x my_script)(これはすでにパスに設定されています。echo$ PATHを実行して確認できます)
  2. ホームディレクトリにbinというフォルダーを作成します。 (個人用スクリプト用)
    • cd〜(ホームディレクトリに移動します)
    • mkdir bin(binフォルダーを作成)
    • vim .bash_profile(パス環境変数を設定するため)
    • export PATH =〜/ bin:$ PATH(iを押してからこの行を追加し、escを実行して:wqと入力します)
    • これで、スクリプトの名前を入力して、好きな場所から実行できます。

** [〜#〜] note [〜#〜]:ファイル名全体を入力するのではなく、短縮コマンドでスクリプトを実行する場合は、.bash_profileに次を追加します。
alias myscript='my_script.sh'
その後、myscriptと入力するだけでスクリプトを実行できます。 (好きなエイリアスでサブできます)

16
Piqué

Macオペレーティングシステム

  • Bash〜/ .bashrcファイルを開きます。
  • export PATH = "$ PATH:/Users/sher.mohammad/Office/practice/practiceShell"を使用して、bashrcファイルにスクリプトのパスを追加します
  • 〜。/ bash_profileファイルを開いて[[-s〜/ .bashrc]] && source〜/ .bashrcを追加します
  • 新しい端末ウィンドウを開くこれで、端末を開くたびにスクリプトがロードされます
3
Sher Mohammad

Bashシェルを使用する場合、そのスクリプトを関数として記述し、それを.bashrcに配置するか、「source file_name」でその関数を含むファイルをソースします。

次に、シェルで関数呼び出しによってスクリプトを実行します。

Bashrcファイルに精通していれば、これは非常に簡単です!これは完全に.bashrcファイルのみを使用し、完了するのに2秒かかります。

(Arch Linux Manjaroを使用しているため、ホームディレクトリにある.bashrcを使用します)

.bashrcファイルに配置するコード:

# Simple bashrc method to launch anything in terminal from any directory

YOURCOMMAND () {
  cd /path/to/directory/containing/your/script/ && ./YOURSCRIPT
}

ご覧のとおり、最初に単純な「cd」コマンドを使用し、スクリプトの場所のディレクトリを指定してから、「&&」を使用して、次のコマンドをすぐに実行し、最後にスクリプトを開きます通常は! .bashファイルに簡単に保存できます。 :)

私が誰かを助けたことを願っています!

心から

AnonymousX

2
AnonymousX

/usr/bin(またはPATHにある他のディレクトリ)に保存するか、PATHを編集して保存したディレクトリを含めると、基本的にどのディレクトリでも実行されます。

1
You

'script.sh' "mv [script.sh]/usr/local/bin"の作業ディレクトリから(テストされていませんが、IMOの中で最も複雑な方法ではないようです。)

0
d1gl3r