【发布时间】:2011-04-08 04:00:21
【问题描述】:
当我想用 Bash 中的参数覆盖变量中的默认值时,有人能指出我的问题吗?以下代码不起作用:
#!/bin/bash
VARIABLE1="defaultvalue1"
VARIABLE2="defaultvalue2"
# Check for first argument, if found, overrides VARIABLE1
if [ -n $1 ]; then
VARIABLE1=$1
fi
# Check for second argument, if found, overrides VARIABLE2
if [ -n $2 ]; then
VARIABLE2=$2
fi
echo "Var1: $VARIABLE1 ; Var2: $VARIABLE2"
我希望能够做到:
#./script.sh
Var1: defaultvalue1 ; Var2: defaultvalue2
#./script.sh override1
Var1: override1 ; Var2: defaultvalue2
#./script.sh override1 override2
Var1: override1 ; Var2: override2
提前致谢:)
【问题讨论】:
-
未来注意事项:“不起作用”不是很有帮助。如果您能具体说明与您预期不同的错误消息和行为,那就更好了。
标签: bash variables arguments overriding