В чем разница между этими двумя программами для копирования содержимого одного каталога в другой?

В чем разница между этими двумя программами для копирования содержимого одного каталога в другой?

Программа номер 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встроенная оболочка (см.страница руководства) при условии, что имена переменных должнынетНачать с$

Связанный контент