名前の前に./なしでスクリプトを実行してください。

名前の前に./なしでスクリプトを実行してください。

私はディレクトリを変更し、他の多くのコマンドを実行する非常に複雑なスクリプトを実行しています。これらのコマンドはすべて「scriptname」を使用して実行され、端末でデフォルトスクリプトを実行すると正常に実行されます。しかし、時にはサーバーにsshを接続し、そこからデフォルトのスクリプトを実行する必要がありますが、各コマンドの前に./がないため失敗します。

すべてのスクリプトと実行可能ファイルを見て、コマンドに./を追加したくないのですが、この問題を解決する他の方法はありますか?

答え1

./PATH 環境変数の追加など、この動作を変更する方法はいくつかありますが、これにより環境に重大なセキュリティリスクが発生します。スクリプトを書く方法が実際に間違っています。正しい解決策は、すべてのスクリプトを確認し、ローカルスクリプトの呼び出し方法を変更することです。これは、追加の問題を引き起こさず、セキュリティの問題を引き起こさない唯一の正しい修正です。私はそれがあなたの仕事ではないことを知っています求める聞いていますが、弾丸を噛んで正しく行動してください。

答え2

スクリプトが/opt/housekeeping/binの下にある場合は、以下を追加することをお勧めします。

export PATH=$PATH:/opt/housekeeping/bin  

.bash_profile、.profile、または使用するログインスクリプトに、そのスクリプトに対する755権限を設定していることを確認してください。

答え3

スクリプトのエイリアスを作成できます。

alias scriptfile="./scriptfile"

関連情報