2016-04-18 18 views
0

私は、PostgresSQLサーバの起動と停止などの簡単な作業を行うカスタムbashスクリプトをいくつか作成しました。私はそれらを私の選択した特定のディレクトリに格納しています。Linux bashコマンドが見つかりませんでした。

Joes-MacBook-Pro:scripts joe$ l 
total 24 
-rwxr-xr-x 1 joe staff 124B Apr 18 21:22 pgstart 
-rwxr-xr-x 1 joe staff 114B Apr 18 21:23 pgstatus 
-rwxr-xr-x 1 joe staff 123B Apr 18 21:22 pgstop 
Joes-MacBook-Pro:scripts joe$ pwd 
/Users/joe/Softwares/scripts 

として私も私の.bash_profileの中でこれらのスクリプトを参照している:私のようにそれを使用しようとしたとき

# Custom Scripts 
export SCRIPTS_HOME=/Users/joe/Softwares/scripts 

:今すぐ

Joes-MacBook-Pro:~ postgres$ pgstart 
-bash: pgstart: command not found 

私はこのスクリプトを配置する必要があります/私のMacのbin /ディレクトリ?すべての手がかりは?

PATH=$PATH:/Users/joe/Softwares/scripts 

再起動ターミナル、それが動作します:

+0

あなたの.bash_profileを調達するためのスクリプトは、最初の行に適切な '#!/ binに/ bash'を持っていますか?単に 'pgstart'ではなく'/Users/joe/Softwares/scripts/pgstart'と入力すると動作しますか? –

+0

完全なパスを指定すると機能しますが、スクリプトだけを使用して呼び出すと失敗します。 – sparkr

+0

あなたはbashを操作し、PATHについて学ぶ必要があります。 – SaintHax

答えて

1

私はマック、専門家ではないが、Linuxをベースに、それはあなたの.bash_profileに次の操作を行うために十分なはずです:

export SCRIPTS_HOME=/Users/joe/Softwares/scripts 
export PATH=$PATH:$SCRIPTS_HOME 

あなたが最初の行を省略し、それに応じてそれを置き換えることができます。

は端末を再起動することを忘れないでください、または

+0

私はそれがユーザー権限と関係があると思います。スクリプトはユーザーとしてjoeを持っていますが、このスクリプトをpostgresユーザーとして実行しようとしています。どのように私はこのスクリプトをpostgresユーザーに見えるようにすることができたかについての手がかりは? joeからpostgresにオーナーを変更する必要がありますか? – sparkr

+0

これは1つの可能性です。他の人はグループをポストグルに変更することでしょう。何かこのように: 'chown joe:postgres your_script_path' –

+0

スクリプトを含むパス全体をpostgresするべきですか? – sparkr

0

は、あなたの~/.bash_profileにこれを追加します。

0

run source ~/.bash_profile輸出に従事する。

ただし、その前に:PATH=$PATH:$SCRIPTS_HOMEをbash_profileに追加すると、コマンドラインから実行ファイルを見つけることができます。

+0

はい、私はパスにもそれを持っていますが、それでもうまくいきません! – sparkr

関連する問題