首页 > 解决方案 > 如何在运行脚本时通过传递命令行参数来设置变量的值?

问题描述

我有一个名为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"

标签: linuxshellunixhivebigdata

解决方案


在 bash 中,位置参数$1是从, , ...解析的。$2所以你可以这样做:

dname=$1;
beeline -u jdbc:hive2://localhost:10000/default -n hiveuser -p Hive@123 --hivevar dbname=$dname -f createCountry.hive

推荐阅读