短路以在shell脚本中设置变量默认值

时间:2013-02-02 04:36:58

标签: bash shell

是否可以使用短路为shell脚本设置变量默认值?

脚本调用1:my_script.sh "apple" "carrot"

脚本调用2:my_script.sh "apple"

my_script.sh:

#!/bin/bash
fruit=$1
vegetable=$2 || "green bean"

# Do something with fruits and vegetables 

当我这样做时,似乎没有使用默认值。

2 个答案:

答案 0 :(得分:6)

您可以使用以下语法:

a=${1:-default}

答案 1 :(得分:2)

你是否表明该脚本应该使用特定的shell?我总是默认使用bash

#!/bin/bash

对概念here的好解释。

编辑:好的,我现在更好地理解这个问题了。如果未传递变量,原始海报想要设置默认值。关于设置默认变量here的很好的解释。试试这个脚本:

#!/bin/bash

fruit=${1-apple}
vegetable=${2-green bean}

echo $fruit;
echo $vegetable;