Я нашел следующий сценарий на commandlinefu.com (пример больше не в сети):
rmbut() {
local x=("$@")
IFS=, rm -rf *[!"${x[*]}"]
}
Он удаляет все файлы и каталоги, кроме тех, которые указаны в командной строке.
Не могли бы вы объяснить следующее:
$ @
означает все аргументы, но почему он заключен в круглые скобки? IFS
, но никогда не использовал его, как он здесь используется? * [! "$ {X [*]}"]
? Я не могу понять, как разбить его на то, что я знаю.