我没有得到 ($(cat)) 和 ${arr[@]} 之间的区别
I am not getting difference between ($(cat)) and ${arr[@]}
我正在学习 bash 脚本。当我在解决问题时,我发现 ($(cat))
和 ${arr[@]}
有一些不同。谁能解释一下有什么区别?
#!/bin/bash
read
arr=($(cat))
# read line
# arr=( $line )
arr=${arr[@]}
echo $((${arr// /^}))
我正在处理的脚本。另外,为什么评论部分也可以作为 arr=($(cat))
?或者也有区别??如果可能的话,再举一个例子,这样我的概念就会清楚。
请指导...
谢谢
arr=($(cat))
填充一个数组,而
arr=${arr[@]}
填充标量变量。
printf '%s %s\n' a b c d > file
arr=($(cat file))
scalar=${arr[@]}
echo "${arr[1]}" # b
echo "$scalar" # a b c d
我正在学习 bash 脚本。当我在解决问题时,我发现 ($(cat))
和 ${arr[@]}
有一些不同。谁能解释一下有什么区别?
#!/bin/bash
read
arr=($(cat))
# read line
# arr=( $line )
arr=${arr[@]}
echo $((${arr// /^}))
我正在处理的脚本。另外,为什么评论部分也可以作为 arr=($(cat))
?或者也有区别??如果可能的话,再举一个例子,这样我的概念就会清楚。
请指导...
谢谢
arr=($(cat))
填充一个数组,而
arr=${arr[@]}
填充标量变量。
printf '%s %s\n' a b c d > file
arr=($(cat file))
scalar=${arr[@]}
echo "${arr[1]}" # b
echo "$scalar" # a b c d