要求您的脚本接受包含空格的参数

要求您的脚本接受包含空格的参数

由于这个问题,我真的陷入了脚本编写的困境。我需要我的脚本接受参数并给出结果,但由于我有空格,它只显示第一个单词。例如。

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

相关内容