Я создал следующие test1.csh и test2.csh для отладки ошибки из link_grib.csh, которая является скриптом .csh, который исходит из пакета программного обеспечения для моделирования климата под названием WRF.csh script foreach и символическая ссылка
У меня нет доступа суперпользователя на этом сервере Linux. Предоставленный скрипт отлично работает для суперпользователя на том же сервере, поэтому никаких изменений не требуется.
Я разыграл два простых фрагмента из link_grib.csh, один из которых включает в себя foreach, а другой - символическую ссылку и иллюстрирует вывод, который я вижу, см. Мои вопросы ниже.
1) Test1.csh
#!/bin/csh
echo ${1}
foreach f (${1}*)
end
Выход:
[[email protected] 20130604_mini]$ ls ./FNL.dat
./FNL.dat
[[email protected] 20130604_mini]$ test1.csh ./FNL.dat
./FNL.dat
foreach: No match.
Вопрос: Почему Foreach бы не возвращают матч здесь?
2) Test2.csh
#!/bin/csh
ln -sf ./FNL.dat GRIBFILE.AAA
Выход:
[[email protected] 20130604_mini]$ test2.csh
[[email protected] 20130604_mini]$ ls GRIBFILE.AAA
ls: cannot access GRIBFILE.AAA: No such file or directory
// but running the same command outside of .csh script, everything is fine
[[email protected] 20130604_mini]$ ln -sf ./FNL.dat GRIBFILE.AAA
[[email protected] 20130604_mini]$ ls GRIBFILE.AAA
GRIBFILE.AAA
Вопрос: Почему работает та же команда за пределами .csh скрипт работает.
Это было именно так, спасибо за то, что указали это. – frank