linux - 如何将环境变量放入Array?
问题描述
DIR1, DIR2, .... DIRN 来自包含一些目录路径的环境变量。例子
export DIR1="/users/abcd"
export DIR2="/users/abcd/xyz"
.
.
.
我怎么知道环境变量中有多少 DIR_ 并将所有这些放在以下数组中
arr=(DIR1 DIR2 ... . . DIRN)
i=0
while [ $i -lt ${#arr[@]} ]
do
cd ${arr[$i]}
i=`expr $i + 1`
done
解决方案
对于环境变量的值中可能包含换行符的情况,您可以使用此脚本,该脚本使用printenv
和的 gnu 版本awk
。
mapfile -t arr < <(printenv -0 | awk -v RS='\0' -F= '/^DIR/{print $1}')
然后检查您的数组内容:
declare -p arr
推荐阅读
- sql - 删除重复的源到目的地(例如,对于 2 个不同的条目(行),德里到孟买和孟买到德里,输出应该是一个)
- r - 在 R 中创建循环以避免重复代码
- google-cloud-messaging - 迁移到 FCM 时更新服务器端点
- java - 获取'类型不匹配:无法从 ArrayList 转换
> 列出 - java - 无法使用 Junit Cucumber 执行 TestRunner 文件得到不兼容的类错误
- excel - 如果包含范围的工作表未激活,则 Excel 复制到 Word 错误范围
- java - 最佳实践:使用 Java 8 Optional 或抛出异常
- python - Pyside2 QTextBrowser overwriteMode 不替换旧文本
- computer-vision - 将拼字游戏屏幕截图解析为数据结构的最佳方法?
- pdfbox - 如何修复 PDFBox 设置的 PDF/A 元数据(使用 Docx4j 和 XDocReport)