Сценарий ниже выдает эту ошибку:
rm: illegal option -- 4
rm: illegal option -- 5
rm: illegal option -- 4
rm: illegal option -- 3
rm: illegal option -- 2
скрипт:
#!/bin/bash
keep_no=$1+1
cd "/mydirec/"
rm -rf `ls | sort -nr | tail +$keep_no`
Я бы хотел, чтобы скрипт принял аргумент (количество сохраняемых директив), а затем удалилвсе каталоги (включая содержащие их файлы), за исключением (число, переданное в сценарии - упорядочение по числовым именам direc в порядке убывания).
т.е. если / mydirec / содержит следующие имена директив:
53
92
8
152
77
и скрипт называется следующим образом: bash del.sh 2
, тогда / mydirec / должен содержать эти директивы (так как он удаляет те, которые не входят в топ-2 в порядке убывания):
152
92
Может кто-нибудь помочь с синтаксисом?