Я пытаюсь выполнить каждый скрипт, который имеет «~ SAC» в конце своих имен файлов. Для этой цели я написал сценарий tc shell, используя «foreach», как приведенный ниже код.Ошибка «неопределенной переменной» при запуске скрипта tcsh
Однако, когда я выполняю его, набрав ./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.
Я проверил, что сообщение "Undefined ~" не появляется после его редактирования. Однако он просто возвращает сообщение «Использование: classic_LR filename.sac output.txt». Я что-то упускаю? Как мне изменить код, чтобы он выполнялся? Должен ли я добавить txt-файл для вывода вывода в моем коде? –
Это похоже на другую проблему - нечто специфичное для вашего кода на языке C. – codeforester
Хорошо. Я сам это проверю. –