'Undefined variable' 运行 tcsh 脚本时出错

'Undefined variable' error when running tcsh script

我正在尝试执行文件名末尾带有“~SAC”的每个脚本。为此,我使用 "foreach" 编写了 tc shell 脚本,如下面的代码。

然而,当我通过输入 ./run.tcsh 执行它时,它只显示 "tmpdir: Undefined variable"。 ('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.

您的变量是 inputdir 而不是 tmpdir

所以,改变

foreach sacfile(`find $tmpdir -name '*.SAC'`)

foreach sacfile(`find $inputdir -name '*.SAC'`)