Попросив свой сценарий принять аргументы, содержащие пробелы

Из-за этой проблемы я действительно застрял на своих сценариях. Мне нужен мой скрипт, чтобы принимать аргументы и давать результат, но поскольку у меня есть пробелы, он отображает только первое слово. например.

cat open.sh echo My name is $1 export start=`date +"%b %d %k:%M:%S %Y"` [oracle@spiderman scripts]echo $start Jul 01 3:03:18 2016 [oracle@spiderman scripts]$sh open.sh `echo $start` The time is Jul 

Мне нужен выход, так как The time is Jul 01 3:03:18 2016.

Мне нужно передать тот же результат на другой сложный скрипт.

Вы должны использовать подстановку команд $() вокруг date например,

 export start=$(date +"%b %d %k:%M:%S %Y") export end=$(date +"%b %d %k:%M:%S %Y") 

и измените open.sh с

 echo The time is "$1" and end time is "$2" 

(Примечание. Всегда указывайте свою переменную, см. Это )

и запустите свой скрипт с указанным аргументом, подобным этому,

 $ sh open.sh "$start" "$end" The time is Jul 01 20:24:03 2016 and end time is Jul 01 22:19:25 2016