linux - Debian Bash Shell 变量替换错误

标签 linux bash shell debian

我想用一个bash脚本调用其他脚本

#!/bin/bash
./anotherScript $1 $2
./anotherScript $3 $4
#and so on

我不知道将传递多少个变量,所以我使用变量“i”从 0 运行到 $# 并尝试获取 ${$i} 作为参数。 但是 Bash 给了我一个糟糕的替换错误。我尝试了以下方法:

a=1
echo $a
echo ${$a} #doesn't work
echo ${${a}} #doesn't work

它们都不起作用。我期待 ${$a} 评估为 ${1} 这应该给我第一个参数。我查看了手册页和 bash 脚本指南 on the Linux Documentation Project site

我做错了什么?

最佳答案

使用 bash,您可以使用 ! 进行间接引用:

echo ${!a}

关于linux - Debian Bash Shell 变量替换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17734838/

相关文章:

shell - 如何理解批处理文件?

linux - ~/.bashrc 中句点 (.) 的用途是什么

linux - 如果 [ awk 'BEGIN{print 0.4*10}' > 1 -eq 0 ];然后回显是;菲

linux - 如何从带有参数的变量执行 Bash 命令

linux - 移动或删除文件时使 `tail -f` 退出的 bash 脚本

bash - bash 上的 sed 会跳过带问号 (?) 的行,sed 或 io 重定向问题?

linux - 关于设置脚本权限

linux - 如何生成不同的脚本以在Linux中的每个目录上运行?

linux - 为什么使用 tail 复制文件比 cp 慢很多,而使用 awk 快两倍?

linux - 如何找到丢失的文件?