linux - 如何在运行脚本时通过传递命令行参数来设置变量的值?
问题描述
我有一个名为workflow.sh的 shell 脚本文件,其中包含以下脚本:
beeline -u jdbc:hive2://localhost:10000/default -n hiveuser -p Hive@123 --hivevar dbname=$dname -f createCountry.hive
wheredname
是一个变量,每当我在命令行中运行 shell 脚本时,我都需要设置它的值。
例如,当我运行时./workflow.sh default
,它应该将dname
变量的值设置为"default"
解决方案
在 bash 中,位置参数$1
是从, , ...解析的。$2
所以你可以这样做:
dname=$1;
beeline -u jdbc:hive2://localhost:10000/default -n hiveuser -p Hive@123 --hivevar dbname=$dname -f createCountry.hive
推荐阅读
- css - 使用 PrintJS 打印设置的宽度和高度
- python-3.x - TypeError:无法使用这些 str 类型的索引器 [stuff] 在 DatetimeIndex 上进行位置索引
- button - 如何使此脚本与按钮单击一起工作?(帖子内的脚本)
- android - 颤振构建应用程序捆绑“失败:构建失败并出现异常”
- android - 安装 facebook-connect 插件后 Ionic 构建失败
- java - split String 如果得到任何大写字母
- spring - Spring WebTestClient 无法解析参数化类型 List 的主体
> - django - /register 'CustomUser' 对象的 TypeError 不可下标
- java - 在 Java (android) 中访问键盘上的 MotionEvent
- javascript - 类型“EmployeeService[]”不可分配给类型“Employee[]”