./ を使用してスクリプトを実行することはできません。 [閉じる]

./ を使用してスクリプトを実行することはできません。 [閉じる]

私の仕事では、通常、次の構文を使用してLinuxサーバー上でスクリプトを実行します。

./<whatever absolute path to script>/<script>

明らかに、これは正しいユーザーと正しい権限で実行されると、通常スクリプトを実行します。

これで、最近サーバーにどのような変更が加えられたかはまったくわかりません。 SA はしばしば通知をまったく提供せず、アップグレード、パッチ、修正を管理します。問題は、最近同じ構文を使用してスクリプトを実行しようとすると、「スクリプトが見つかりません」のために実行が失敗することです。

回避策は、次の有効な構文を使用することです。

bash /<whatever absolute path to script>/<script>

私はSAまたはUnixサーバー構成の専門家ではありません。これらの問題が発生する理由と解決策を知っている人はいますか?

よろしくお願いします。

ベストアンサー1

例で絶対パスを述べたように、次のコマンドを使用する必要があります。

/<whatever absolute path to script>/<script>

oa 点は相対パス検索を意味するためです (点は現在のディレクトリです)。使用ポイントは、現在のディレクトリが/(ルート)の場合にのみ有効です。

また、権限と実行フラグを確認してください。 Sorスクリプトでは読み取り権限も設定する必要があります。

おすすめ記事