由于这个问题,我真的陷入了脚本编写的困境。我需要我的脚本接受参数并给出结果,但由于我有空格,它只显示第一个单词。例如。
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.
我需要将相同的输出传递给另一个复杂的脚本。
答案1
您应该使用命令替换,$()
例如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