我有两个环境变量,一个是:
export COMMAND='sudo curl https://transfer.sh/n32gU/dockkub -o dockkub && kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address='
另一个是:
export EXIP='123.3.765.231'
如何将其连接到如下所示:
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
并存储到EXEC变量
答案 0 :(得分:2)
你可以像bash中的每个字符串一样连接它们:
export EXEC="$COMMAND$EXIP"
等效替代品
export EXEC="${COMMAND}${EXIP}"
export EXEC="$COMMAND""$EXIP"
export EXEC="${COMMAND}""${EXIP}"
请注意,系统使用convention大写变量。好的做法是将变量拼写为小写。
$EXEC
您似乎想要使用$EXEC
作为命令。在这种特殊情况下,调用$EXEC
可以正常工作,但由于以下问题,不推荐使用它:
*
和?
等符号。编写和调用命令的更好方法是函数:
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