期望接受带空格的变量

时间:2019-07-09 15:23:00

标签: linux shell

在我的期望脚本中,我想添加两个变量。它们都是脚本中的变量。

 hello="My Life" 
 world="is wonderful" 
 ./script.sh $hello $world

在script.sh

#!/usr/bin/expect
set timeout 10
match_max 100000000

set first_var [lindex $argv 0]
set second_var [lindex $argv 1]

当前

first_var="My"
second_var="Life"

下面的代码在不作为变量传入时可以按预期工作。

./script.sh 'My Life' 'is wonderful'

我需要知道如何让脚本吸收变量,而仍然忽略变量中的空白。

1 个答案:

答案 0 :(得分:2)

您还必须在引号内传递变量;

./ script.sh“ $ hello”“ $ world”

Bash扩展的工作方式,将在运行脚本之前扩展这些变量。就像命令运行时一样

./ script“我的生活”“很棒”

参数周围的引号表示外壳程序不能通过字段分隔符进行拆分。