Программа номер 1 (получение ошибки)
#!/bin/bash
echo "Enter source and destination directories: "
read $src $dest
if [ -d $src ] && [ -d $dest ]
then
echo "Process will start "
else
echo "Enter valid directories"
exit 1
fi
cp -r $src $dest
status=$?
if [ $? -eq 0 ]
then
echo "Successfully completed "
else
echo "facing some problems "
fi
Вторая программа (при выполнении не возникает никаких ошибок)
#!/bin/bash
echo "Enter Sourse Directory name : "
read src
echo "Enter destination directory: "
read dest
if [ ! -d $src ]
then
echo "Enter Valid Directory name "
exit 1
elif [ ! -d $dest ]
then
echo "Enter Valid Destination source name "
exit 2
fi
cp -r $src $dest
status=$?
if [ $status -eq 0 ]
then
echo "File copied succesfully"
else
echo "there is a problem"
fi
решение1
Огромное отличие находится под вашими глазами:
Программа 1:
read $src $dest
Программа 2:
read src
[...]
read dst
read
встроенная оболочка (см.страница руководства) при условии, что имена переменных должнынетНачать с$