【发布时间】:2017-11-10 12:29:55
【问题描述】:
我并没有真正了解 shell 并偶然发现了这个问题
我有一个包含文件夹位置的数组和一个包含我要为其获取的值的数组,但文件夹来来去去,所以有时,当我运行检查以获取它们的关联值时,文件夹不是没有了。
我想隐藏 cat 在文件夹不存在时返回的错误,并能够为变量赋予另一个值。
在尝试挖掘了一下之后,我想出了这个,它不起作用,但我一直在尝试的似乎也没有:
userName[i]={ "$(cat "/mainFolder/${userCodes[i]}/name")" } || { "$errorValue"; }
Cat 失败时抛出 No file or directory 错误,并且 "$errorValue" 抛出 ": -1: command not found"
【问题讨论】:
-
文件中的实际内容是什么?你可能想要
IFS= read -r 'userName[i]' < /mainFolder/.../name之类的东西。 -
@chepner,如果您知道如何在丢失文件的情况下抑制“没有这样的文件或目录”警告(这将由
<操作员抛出),请提供替代答案。您的变体应该比我的变体具有性能优势。
标签: arrays linux bash shell cat