Я пытаюсь удалить все файлы и каталоги в /path/to/dir/
за исключением двух каталогов (dir1
и dir2
) с удаленного хоста, используя SSH. Когда я запускаю команду, похожую на эту, на моем локальном компьютере с Ubuntu 14.04, она работает как положено:
user@host1:~$ cd /path/to/dir/ && rm -rf !(dir1|dir2)
Если я попытаюсь выполнить ту же команду через SSH на другом хосте с такой же структурой каталогов, это не удастся.
user@host1:~$ ssh user@host2 'cd /path/to/dir/ && rm -rf !(dir1|dir2)'
bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `cd /path/to/dir/ && rm -rf !(dir1|dir2)'
Как мне избежать команды, чтобы она работала? Я думал, что использование одинарных кавычек было достаточно.