我需要帮助来纠正这个。sh脚本,使用来自两个不同路径的两个不同变量。谢谢你的帮助!
我试过这个,但它不工作:
#!/bin/bash
path1="cd /work/bk1088/b382227/pidata/monpctl75"
path2="cd /work/bk1088/b382227/pidata/monpctl25"
for i in "path1/*.nc" and v in "path2/*.nc"; do
cdo -a sub ${i} ${v} /work/bk1088/b382227/pidata/IQR-75sub25/${i}_iqr.nc
done
2条答案
按热度按时间neskvpey1#
简单地说:
huus2vyu2#
我假设您希望将path 1中的一个文件与path 2中的相应文件进行匹配(而不是所有path 1文件和path 2文件的叉积)。
为了解释
"${!files[@]}"
,从3.5.3手册中的 shell 参数展开:${!name[@]}
${!name[*]}
如果 name 是一个数组变量,则扩展到 name 中分配的数组索引(键)列表。如果 name 不是数组,则如果设置了 name,则扩展为0,否则为null。当使用“@”并且展开出现在双引号内时,每个键都展开为一个单独的单词。