Was ist der Unterschied zwischen den beiden folgenden Programmen zum Kopieren von Inhalten von einem Verzeichnis in ein anderes?

Was ist der Unterschied zwischen den beiden folgenden Programmen zum Kopieren von Inhalten von einem Verzeichnis in ein anderes?

Programmnummer 1 (Fehler)

#!/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 

Zweites Programm (bei der Ausführung tritt kein Fehler auf)

#!/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

Antwort1

Ein großer Unterschied liegt unter Ihren Augen:

Programm 1:

read $src $dest

Programm 2:

read src
[...]
read dst

readist ein Shell-Builtin (siehemanpage) angegebene Variablennamen müssennichtanfangen mit$

verwandte Informationen