Connect two environment variable
本问题已经有最佳答案,请猛点这里访问。
我有两个环境变量,一个是:
1 | export COMMAND='sudo curl https://transfer.sh/n32gU/dockkub -o dockkub && kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=' |
另一种是:
1 | export EXIP='123.3.765.231' |
如何将其连接到如下所示:
1 | sudo curl https://transfer.sh/n32gU/dockkub -o dockkub && kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=123.3.765.231 |
和存储到执行变量
您只需将它们与bash中的每个字符串连接起来:
1 | export EXEC="$COMMAND$EXIP" |
等效替代方案为
1 2 3 | export EXEC="${COMMAND}${EXIP}" export EXEC="$COMMAND""$EXIP" export EXEC="${COMMAND}""${EXIP}" |
注意,按照惯例,系统使用大写变量。好的做法是用小写字母拼写变量。
执行似乎您希望使用
- 带空格的参数是不可能的。
- 像
* 和? 这样的符号将被扩展。
编写和调用命令的更好方法是函数:
1 2 3 4 5 6 | myfunction() { sudo curl https://transfer.sh/n32gU/dockkub -o dockkub && kubeadm init --pod-network-cidr=10.244.0.0/16 \ --apiserver-advertise-address="$1" } export -f myfunction |