shell - 使用 shell 脚本将值存储在数组中

标签 shell unix quoting

这工作正常,因为我直接输入数据。

declare -a arr
arr=( $(awk '/123456789/{print NR}' filename) )
echo ${arr[0]}
echo ${arr[*]}

Bt 当我按照下面的操作时,它不起作用。你能让我知道如何在下面的命令中使用参数“name”吗:

echo  Enter your search string:  
read name
declare -a arr
arr=( $(awk '/"$name"/{print NR}' filename )
echo ${arr[0]}
echo ${arr[*]}

最佳答案

根据您的评论,我发布了这个答案。这是适合您的脚本:

read -e -p "Enter your search string: " name
#echo "name: [$name]"
declare -a arr
arr=( $(awk /"$name"'/{print NR}' x ) )
echo ${arr[0]}
echo ${arr[*]}

关于shell - 使用 shell 脚本将值存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10892916/

相关文章:

linux - 如何检查文件是否存在并在不存在时执行命令?

linux - 使用 cp 命令将一组文件复制到另一组(具有相同名称)而不覆盖和重命名

python - python子进程中的rsync + ssh在目录名中出现空格错误

Perl:在这种特殊情况下,哈希不允许使用字母数字键

shell - svn diff -x (v1.6) 不接受我的 diff 选项 --unified=40

linux - 粘贴命令不识别脚本中的换行符 (/n)

linux - expr 的意外行为

linux - 为什么这个 SED 命令不起作用?

c - 一个只有 fork() 这行的程序不会自己崩溃吗?

bash - 如何让空参数在命令替换中继续存在?