【发布时间】:2022-01-22 22:48:36
【问题描述】:
我正在学习 bash 脚本。当我解决问题时,我发现($(cat)) 和${arr[@]} 有所不同。谁能解释一下有什么区别?
#!/bin/bash
read
arr=($(cat))
# read line
# arr=( $line )
arr=${arr[@]}
echo $((${arr// /^}))
我正在处理的脚本。另外,为什么评论部分也可以用作arr=($(cat))??还是有区别??如果可能的话,再举一个例子,这样我的概念就会清楚。
请指导...
谢谢
【问题讨论】:
-
这是几个问题合二为一的问题....为什么不尝试将其分开?这些可以得到更准确的回答。
-
他们做了两件截然不同的事情。
$(cat)扩展为标准输入的内容,减去第一行。$line只是扩展为第一行的内容。