bash - 仅打印具有值的变量
问题描述
value1=yellow
value2=
value3=red
value4=pink
value5=
我只需要打印带有值(=value1,value3,value4)的字符串的内容
#!/bin/bash
value1=yellow
value2=
value3=red
value4=pink
value5=
for a in {1..5}
do
echo $value$a
done
解决方案
您可以使用间接引用变量,然后检查它是否为空。
#!/bin/bash
value1=yellow
value2=
value3=red
value4=pink
value5=
for a in {1..5}
do
var=value$a
val=${!var}
[[ -n ${val} ]] && echo "${val}"
done
推荐阅读
- html - 图片怎么才能不溢出高度
- dpdk - DPDK API 中的 rte_eth_dev_count_avail() 返回 0
- c# - C# Entity Framework Core If 语句不起作用
- php - 我的php商店代码重定向问题
- security - Youtube Data API Auth Token 的安全问题
- jquery - 带有多个项目的导航,单击时添加类和删除类
- javascript - 将巨大的 if 语句变量重构为数组
- python - 如何使用 pip METADATA Requires-Dist 中的“额外”标志?
- validation - 默认验证消息 ASP.NET Core
- r - Bookdown 到 PDF 定理环境副本