运行tcsh脚本时出现“未定义变量”错误

时间:2017-01-26 06:47:47

标签: linux foreach tcsh

我正在尝试执行文件名末尾有“~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的文件的名称。

1 个答案:

答案 0 :(得分:2)

您的变量为inputdir而非tmpdir

所以,改变

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

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