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/ls
。ls
に追加します/bin
。PATH
~/.bashrc
export $PATH=$PATH:/bin
答え3
努力する:
#!/bin/bash
PATH="$PATH:$(dirname $0)"
ls $PATH
これにより、$(dirname $0)
PATH変数を置き換える代わりに追加できます。または、環境変数を編集せずに$(dirname $0)
個別に使用したい場合は、別の変数名を使用してください。