我正在尝试执行文件名末尾有“~SAC”的每个脚本。出于这个目的,我使用“foreach”编写了tc shell脚本,如下面的代码所示。
但是,当我通过输入./run.tcsh执行它时,它只显示 “tmpdir:未定义的变量”。 ('tmpdir'是包含我想要应用我的代码的所有文件的目录) 我怎么能解决这个问题?
#!/bin/tcsh
set inputdir=tmpdir
foreach sacfile(`find $tmpdir -name '*.SAC'`)
echo "processing $sacfile"
classic_LR $sacfile
end
我的执行文件的名称是'classic_LR',它通过以下输入形式执行;
./classic_LR sacfile
其中'sacfile'是指我想要应用classic_LR的文件的名称。
答案 0 :(得分:2)
您的变量为inputdir
而非tmpdir
。
所以,改变
foreach sacfile(`find $tmpdir -name '*.SAC'`)
到
foreach sacfile(`find $inputdir -name '*.SAC'`)