我正在编写一个bash shell脚本,运行时用户需要将$ 1变量传递给它。我如何确定是否缺少$ 1,并为其定义一个默认值?在bash脚本中设置默认用户变量
回答
您可以检查变量的长度。
if [[ -z $1 ]]; then
echo '$1 is zero-length. Please provide a value!'
fi
如果您只是想使用默认值,则可以使用括号扩展。
first_param=${1:-defaultvalue}
的${varname:-foo}
构建将使用的varname
的值,如果它被设置,或用什么遵循:-
如果没有设置它。
你的意思是检测一个值是否丢失,或者路径中的目录是否丢失? 对于前者:
MYPATH=$1
if [[ -z $MYPATH ]]
then
MYPATH=$MYDEFAULTPATH
fi
后者:
MYPATH=$1
if [[ ! -d $MYPATH ]]
then
MYPATH=$MYDEFAULTPATH
fi
因为他特别提到了bash,所以你应该使用'[[''over'['' – Daenyth 2010-09-28 16:40:43
谢谢,修正了它 – iniju 2010-09-28 16:48:49
为什么'[[''比'['更合适? – Elpezmuerto 2010-09-28 16:58:38
- 1. 在csh脚本中设置默认用户变量
- 2. 传递变量bash脚本使用默认值
- 3. 在本地bash函数变量中设置脚本的环境变量
- 4. 无法在bash脚本中设置变量
- 5. 设计:在用户确认后设置用户默认模板
- 6. Bash:如何从参数中设置一个变量,并使用默认值
- 7. 设置变量脚本
- 8. 在变量设置以外的脚本中使用变量(ajax)
- 9. 在bash脚本中切换用户时的环境变量
- 10. UIView - 设置成员变量默认值
- 11. 在终端(Mac)中打开shell脚本无论bash脚本的默认应用程序设置为
- 12. 在bash脚本中连接变量
- 13. 在bash脚本中访问变量
- 14. Bash脚本 - 在变量中存储stderr
- 15. 在bash脚本中定义变量
- 16. 在bash shell脚本中启动动态变量(变量变量)
- 17. 在bash脚本中设置的日期
- 18. bash脚本创建脚本变量
- 19. 的Bash shell脚本变量
- 20. 内联bash脚本变量
- 21. 变量传给bash脚本
- 22. PowerShell更改脚本中的默认变量作用域
- 23. 的Bash shell脚本:如何设置JAVA_HOME环境变量
- 24. 如何从脚本设置bash环境变量?
- 25. Bash Unix Shell脚本接受输入并设置系统变量
- 26. 如何运行bash脚本并设置变量?
- 27. 如何设置脚本变量在JIRA
- 28. 在bash中设置env变量t秒
- 29. 为bash命令设置默认参数
- 30. 在AppEngine中设置默认版本
有用知道:'$ {参数默认}'和'$ {参数:-default}'是几乎等同。额外的':'只有在声明'parameter'时才会有所作为,但是为空。 http://tldp.org/LDP/abs/html/parameter-substitution.html – Andrew 2013-12-10 20:24:26