Bashスクリプト:lsコマンドが見つかりません。

Bashスクリプト:lsコマンドが見つかりません。

Arch USB iso、zshで次の内容を含むスクリプトを実行します./test

#!/bin/bash
PATH=$(dirname $0)
ls $PATH

返品

ls:コマンドが見つかりません

この問題を解決する方法を知っていますか?

編集:lsは単独で動作しますが、$ PATHを追加しても機能しません。

編集:$ PATHが環境変数であり、その値を置き換えるという意見で私は気づきました。

答え1

PATH変数は特殊変数です。特殊変数がたくさんあります(すべて大文字なので避けやすいです)。PATH検索コマンドで使用されるディレクトリのリストを保存します。

楽しさと学習のため(同じですが)echo $PATHスクリプトの外に入力して、含まれている内容を確認してください。

問題を解決するためにPATHを中断しないでください。別の変数名(すべて大文字ではない)を使用してください。

答え2

試してみると、コメントで@ 123が言及したパスにないようです/bin/lsls

に追加します/binPATH~/.bashrc

export $PATH=$PATH:/bin

答え3

努力する:

#!/bin/bash
PATH="$PATH:$(dirname $0)"
ls $PATH

これにより、$(dirname $0)PATH変数を置き換える代わりに追加できます。または、環境変数を編集せずに$(dirname $0)個別に使用したい場合は、別の変数名を使用してください。

関連情報