-1
このスクリプトは、テキストファイルを別のディレクトリにコピーしようとします。 私はなぜこの問題を抱えているのかわかりません: ./move_in.sh:行36:ls:コマンドが見つかりません if文を追加するまではうまくいきました。私はLASTとPATHを使用する理由ls:コマンドが見つかりませんBASH
update_file=pwd
echo ""
echo "You can move a text file from your PC into the repository"
echo ""
echo "You need to know where is your text file"
cd/
ls
times=1
echo ""
echo "Where is your text file?"
read directory
while [ -d $directory ]
do
echo $times
if [ $times == 1 ]
then
LAST=$directory
fi
if [ $times != 1 ]
then
LAST=$PATH/$directory
fi
cd $directory
ls
echo ""
echo "Where is your text file?"
read directory
PATH=$LAST
echo $PATH
times=$((times + 1))
done
PATH=$PATH/$directory
echo $PATH
open $PATH
cp $PATH /\$update_file
echo "You found the text file!"
exit 0
プロセスが終了したときに、私は、ファイルの完全なパスを持っていると思いますが、thatsの、と私はそれらを均等化。あなたの$ PATH使用PATH = $ PATHに削除されている
でなければなりませんか?そして、どこでPATH = $ PATHを使う必要がありますか? – user5673573
'PATH'はすでにシェルに定義された意味を持っています(外部コマンドを探すディレクトリを指定しています)。' PATH'(とすべて大文字のすべての変数名)を自分で使うべきではありません目的。 – chepner