2016-10-13 5 views
-1

Этот скрипт пытается скопировать текстовый файл в другой каталог. Я не понимаю, почему у меня такая проблема: ./move_in.sh: строка 36: ls: команда не найдена Она работала нормально, пока я не добавил if-утверждения.ls: command не найден 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 

Я хочу, чтобы иметь полный путь к файлу при завершении процесса, вот почему я использовал ПОСЛЕДНИЙ и PATH, и уравнять их.

ответ

1

Вы удалите свой $ PATH использовать PATH = $ PATH: Ls не является встроенной командой, поэтому он должен быть в PATH окр

+0

где я удалить $ PATH? И где я должен использовать PATH = $ PATH? – user5673573

+1

Лучшее объяснение состоит в том, что 'PATH' уже имеет определенное значение для оболочки (он указывает, какие каталоги искать внешние команды), а' PATH' (и все имена всех прописных букв) не должны использоваться для ваших собственных цели. – chepner