シェルスクリプトをビンに保存しました(自分で作成)。プログラムを実行するとき、。/がスクリプトを実行しないようにするには、PATH変数で指定されたディレクトリの1つにスクリプトをコピーする必要があります。作成されたbinディレクトリはパスリストにありません。そのため、PATHリストに追加するには:
export PATH=~/bin:"$PATH"
ただし、このディレクトリはPATHリストに保存されません。新しいターミナルウィンドウを開くと、スクリプトを実行するために再度エクスポートする必要があります。 PATHリストに永久に追加するにはどうすればよいですか?また、スクリプトを現在のPATHリストディレクトリに移動しようとすると、PERMISSION DENIEDと表示されます。 rootユーザーになることで移動する必要がありますか?
export PATH=~/bin:"$PATH"
を~/.profile
ファイルに追加できます。一番下に追加し、保存してからSSHに再接続します。
または、この変更をすべてのユーザーに対してシステム全体に適用する場合は、/etc/environment
のパスを編集できます。
これは私のために働いた。
.bashrc gedit ~/.bashrc
を開きます
テキストエディタが開きます。
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
これを貼り付けて、.bashrcを編集します。テキストエディターを閉じた後、source ~/.bashrc
許可が拒否された場合は、スクリプトが実行可能な形式ではないことを意味します。 chmod 755 program_name
これで動作するはずです。新しいターミナルを開くと動作します。
~/.profile
を編集しますすべての$ PATH関連の変数の後に次の行を追加します。
export PATH="$PATH:$HOME/your-home-dir-path"
ファイルを保存。
ログアウト/再起動します。
これを~/.profile
に追加すると、ターミナルとテキストモードへのこの変更が有効になります。
~/bin
または~/.local/bin
である場合に備えて!!!すでに質問のコメントで述べたように、これらの場所はすでにUbuntuのPATHに含まれています!
次のことができます。
~/bin
)。次のコマンドで許可を実行可能に変更します。
chmod +x ~/bin/script.sh
ログアウト/ログイン。または、source ~/.profile
を実行できます
すでに述べたように、〜/ .profileには既に次のようなものが含まれているはずです。
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
ただし、インタラクティブな非ログインbashシェルを起動しているようです(つまり、ssh経由で接続していないが、デスクトップ環境から端末を起動しています) 〜/ .profileを読み取らず、代わりに〜/ .bashrcが読み取られます 。ここで説明します 。
〜/ .bashrcを変更してパスを追加したり、 here で説明されているように非ログインシェルの〜/ .profileを読み取ることができますが、ログアウト/ログインする場合はJacobが述べたように、これは不要です。
ログインシェルと非ログインシェルの違いを理解するには、この answer を参照してください。
走るとき
export PATH=~/bin:"$PATH"
pATH環境変数を設定し、実行中の親端末にエクスポートしています。 「新しいPATH変数はこれだ、Wordを広める」と言っているようなものです。動作しますが、コンピューターを再起動すると、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/binフォルダーが自動的に含まれます。しかし、そうでない場合は、上記のコマンドを追加するか、次のいずれかを追加するだけです。
export PATH="$PATH:$HOME/bin"
ファイルに追加すると、このフォルダーはユーザーのすべてのセッションのPATHに含まれます。
/ usr/binディレクトリに書き込むにはルート権限が必要ですが、.profileファイルを変更する場合は必要ありません。