Я хочу выполнить простую команду
rm -f *.zip or true ; and date
Это означает, что я хочу удалить все zip-файлы по текущему пути и показать текущую дату. Я все равно хочу увидеть дату. Даже если таких файлов нет.
Я бы сделал это в bash как:
rm -f *.zip || true; date
Вот что я получаю от рыбы:
ОБНОВЛЕНИЕ
Читая документацию, я обнаружил, что
Получается, что (не могу в это поверить)
Я должен написать простой rm -f *.zip
как
set files *.zip
if count $files > /dev/null
rm -f *.zip
end
Я очень недоволен таким решением,
должно быть что-то лучше
ОБНОВЛЕНИЕ Я пробовал
rm -f "*.zip"; date
Но файлы не удаляются, потому что расширения не происходит.
Обновить
Я хотел скрыть выражение в функции как
function rmf
set files $argv
set quantity (count $files)
if [ $quantity -gt 0 ]
echo "yes";
rm -f $files
else
echo "not enough"
end
end
Но проблема в том, что функция rmf не рассматривается как функция подсчета
rm *.zip; date
? - person glenn jackman   schedule 24.08.2017-i
кrm
; из коробки, без каких-либо настроек в вашей ОС или дистрибутиве, bash не делает ничего подобного. - person Charles Duffy   schedule 25.08.2017