很久很久以前,我曾经做过 bash 编程,但在一段时间后,我转向了其他编程语言。我的工作需要我查看一个 bash 脚本,然后我发现了这段我想要理解的代码。
对于 $(echo $ENV_VARS | cat my_env_vars.txt ) 中的 var;导出 $var 完成
我似乎找不到太多将“cat”命令作为管道目标的示例,因此我无法理解原作者将 echo 命令的结果通过管道传输到“cat”命令的输出的意图。有人可以帮助解释发生了什么吗?
我确实尝试通过设置 ENV_VARS 来运行代码,但我看到只有“my_env_vars.txt”文件的内容在“for”循环中被评估。那么在这里管道'echo'的结果有什么用呢?
尝试:
as第
-
一个参数指示cat
将其标准输入作为第一个文件读取(并将数据写入其标准输出,然后按照它们在命令中出现的顺序读取命令行上的任何文件名(并写入其标准输出)线。-
参数也可以出现在后面my_env_vars.txt
。(但是,虽然在命令行上多次命名文件可以多次cat
打开和读取文件,但标准输入 ( ) 并非如此-
)