bash - 在sh中对字符串的条件赋值

标签 bash docker sh

我正在为一堆图像编写docker save语句。而且我只想在将某些标志设置为true时保存它。

我正在提议这样的事情

#!/bin/sh
docker save AA BB CC DD
  if [ "${EE_flag}" = true ]; then
    EE
  fi
       | gzip -o single-tarball.tar.gz


但是它失败了,因为docker save实际上只期望一些字符串作为参数,而不是IF / ELSE语句。我尝试了三元运算符? :,但它似乎仅适用于数值。

sh中是否有任何技巧可以做到这一点?

最佳答案

您可以这样使用它:

docker save AA BB CC DD $( [[ $EE_flag = true ]] && echo "EE" ) |
gzip -o single-tarball.tar.gz

关于bash - 在sh中对字符串的条件赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54098909/

相关文章:

shell - 使用 sed 替换 shell 脚本中的特殊字符

bash - 当我使用 'sh' 运行 Bash 代码时,为什么它会失败?

bash - 如何在每个命令的基础上正确分配临时 Bash 变量?

linux - 重新激活 python 脚本 - Linux bash 脚本

networking - 如何使用 Hyper-V 连接到网络设置上的 docker 服务器

oracle - 如何将 Tomcat 容器链接到 Oracle 容器

mysql - 使用 MySQL/MariaDB 数据库创建 Docker 容器

linux - 如何从文件的每一行中提取具有特殊字符的特定字符串

bash - 如何使用 sed 从 bash 中的字符串中删除转义字符?

Linux 脚本以秒为单位获取上次修改文件夹的时间