Я пытался написать скрипт, который будет искать в каталоге несколько заархивированных tar-файлов, разархивировать их, а затем распаковать. Однако моя проблема в том, что каждый раз, когда я запускаю скрипт, он выполняет первый оператор if then, но он не выполняет второй. Я запустил оба этих оператора в отдельных сценариях, и они оба работают независимо, но не в одном и том же сценарии. Нужно ли объединять их в операторе if then elseif? Вот что у меня есть, я ценю любую помощь.
#!/bin/csh
set x = (`find /Documents/*.gz -print`)
set v = (`find /Documents/*.tar -print`)
if ("$x" != "")
then
gunzip *
else
echo "No zip files found."
endif
if ("$v" != "") then
foreach i ( $v )
tar -xvf $i
end
else
echo "No tar files found."
endif