童鞋们,Shell变量分为环境变量、本地变量、位置参数变量和特殊变量,实际使用中,四者有一定的重叠性。Shell变量是用好Shell编程的基础,灵活恰当的使用变量可以简化脚本复杂度,提高脚本运行效率和可读性。把ppt讲义中的例子在实际环境中验证下,请自行理解。^v^ 位置参数和专用参数的例子:
<<ifsarg.sh>> 使用bash执行:bash vartest.sh 1 ‘2 3’ 4 5 a b c d e f g 执行:bash vartest.sh 1 '2 3' 4 5 a b c d e f g ------------------ <<vartest.sh>> 使用bash执行:bash ifsarg.sh 1 ‘2 3’ 4 5 a b c d e f g ------------------ <<t_shift.sh>> 使用bash执行:bash t_shift.sh 1 a 3 b 5 c 7 执行:bash t_shift.sh a ‘1 2 4’ c 5 e 9 ------------------- wins编辑的share到linux中的运行出现提示符的注意事项: wins手动编辑的:
然后运行bash variable.sh 1 3 5 7 9 出现以下错误:clear\r:command not found 查找了原因: 是 Windows 和 Linux 的 .sh 脚本文件格式不同,如果在脚本中有空行,脚本是在 Windows 下进行编辑之后上传到 linux 上去执行的话,就会出现这个问题。 windows 下的换行符是\r\n,而 linux 下的换行符是\n,没有识别/r,所以会导致上述的报错,这个属于脚本编码的问题。 解决方式: vim :set ff=unix回车 ESC : wq保存退出后再运行显示正常: 同理,其他在wins下copy过去/编辑的都需要:set ff=unix后,可执行: ./2greet.sh和bash 2greet.sh实现相同的结果(前置需要+x权限) 如下图所示,在输入vi 2greet.sh后输入了:set ff=unix回车,然后esc : wq退出。 greet.sh也是如下: 文档结束。 |
shell变量之位置变量和专用参数(sy6.5)
最新推荐文章于 2024-10-01 22:35:32 发布