cd参数由变量组成由变量组成



我有一个包含路径的变量。特别是,我需要这个变量从第二个文件(输入(读取路径。这就是我使用awk的原因。变量是这样的:

path_dock1=`awk 'NR==33 {print $1}' input`

除了path_dock1,还有其他以相同方式声明的path_dock变量。

path_dock1=`awk 'NR==33 {print $1}' input`
path_dock2=`awk 'NR==34 {print $1}' input`
path_dock3=`awk 'NR==35 {print $1}' input`
...

我希望在for循环中使用这样的变量。特别是,我想使用这个变量作为cd命令的参数。为此,我使用了一个从1到n的for循环变量,其中n是path_dock的总数变量。

for t in $(seq 1 1000)
do
cd $path_dock$t
.... 
done

当然,这种策略只是一种尝试,并不奏效。你有什么建议可以通过这种方式将参数传递给cd命令吗?

提前谢谢。

使用参数扩展:

for t in $(seq 1 1000)
do
tmp=path_dock${t}
cd ${!tmp}
.... 
done

使用数组而不是许多编号的变量

path_dock=()
for i in {1..100} ; do
path_dock+=($(awk 'NR=='$i' {print $1}' input))
done
...
for i in {1..100} ; do
cd "${path_dock[i]}"
...
done

最新更新