首页 > 解决方案 > 动态命令 - shell 脚本

问题描述

我是 shell 脚本的新手,我正在尝试根据几个条件动态地形成查询。这是代码片段

if [[ $(id -u) -eq 0 ]]
then
  SSH_COMMAND="${cmd} > ${LOG_OUTPUT_FULL_PATH}/kubectlnodes.log"
else
  SSH_COMMAND="'echo paass | sudo -S sh -c '${cmd} > ${LOG_OUTPUT_FULL_PATH}/kubectlnodes.log''"
fi
#echo "executing ${SSH_COMMAND}"
$(${SSH_COMMAND})

我的命令已正确写入 SSH_COMMAND 变量,但是在执行命令时,它首先执行 echo 并且我的整个命令都失败了。我尝试了以下格式来执行 SSH_COMMAND 变量 ${SSH_COMMAND} 和 $(${SSH_COMMAND}) 中的完整命令,但两者都部分执行并且命令失败。

感谢对此的任何投入

标签: bashshellunix

解决方案


推荐阅读