'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'`)
我正在尝试执行文件名末尾带有“~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'`)