¿Cuál es la diferencia entre los dos programas siguientes para copiar contenido de un directorio a otro?

¿Cuál es la diferencia entre los dos programas siguientes para copiar contenido de un directorio a otro?

Programa número 1 (Obteniendo error)

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

Segundo programa (no aparece ningún error al ejecutarse)

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

Respuesta1

Una gran diferencia está bajo tus ojos:

Programa 1:

read $src $dest

Programa 2:

read src
[...]
read dst

reades un shell incorporado (verpágina de manual) los nombres de las variables proporcionadas debennoempezar con$

información relacionada