В то время как true
в порядке, в качестве общего назначения "цикла навсегда". Как говорят другие ответы, тело петли не должно быть пустым или становится пустым в силу команды внутри цикла не работает.
Если вы используете Linux, вы можете использовать команду, такую как inotifywait
, что делает , в то время как
Ploot намного проще:
while inotifywait -qqe modify "$DIRECTORY"
do
process_the_directory "$DIRECTORY"
done
здесь inotifywait
Команда будет сидеть и дождаться, когда произойдет событие файловой системы (в этом примере, когда файлы в каталоге записываются на). В этот момент он выходит успешно, и тело цикла выполняется. Затем он восходит к ожиданию снова. Поскольку команда inotifywait
команда ждет чего-то, что произойдет в каталоге, это гораздо более эффективно, чем постоянно опросить каталог.
tar -xjvf "Sublime Text 2.0.2 x64.tar.bz2"
Требуются кавычки , потому что в имени файла есть пробелы.
Сначала вы должны указать имя архива, а затем имя (я) файла, который вы хотите извлечь из него. Если в этом имени есть пробелы, вы должны заключить их в кавычки.
Имя файла, заканчивающееся на .tar.bz2
, является архивом.
Поскольку я не могу узнать имя, которое вы пытаетесь извлечь, попробуйте следующее:
tar -xjvf x64.tar.bz2 "Sublime Text 2.0.2"
или
tar -xjvf "2.0.2 x64.tar.bz2" "Sublime Text"
или
tar -xjvf "Text 2.0.2 x64.tar.bz2" Sublime
Сообщение об ошибке, которое вы получаете, связано с невозможностью распаковать файл Sublime.
tar (child): Sublime: Невозможно открыть: Нет такого файла или каталога
Это потому, что аргумент имени файла, передаваемый в tar
, содержит все до первого пробела, Sublime Text ...
. Вы можете заключить его в двойные кавычки, чтобы оболочка Bash знала, что вы собираетесь передать всю строку в качестве имени файла в tar
.
$ tar -jxvf "Sublime Text 2.0.2 x64.tar.bz2"
Часто, когда я загружаю такие файлы, мне нравится использовать для них команду file
, чтобы убедиться, что они на самом деле названы правильно.
$ file /home/saml/gaffiter.bz2
/home/saml/gaffiter.bz2: bzip2 compressed data, block size = 900k
$ file /etc/ntop/oui.txt.gz
/etc/ntop/oui.txt.gz: gzip compressed data, was "oui.txt", from Unix, last modified: Sun May 6 00:30:01 2012
$ file /home/saml/Downloads/lplinux.tar.bz2
/home/saml/Downloads/lplinux.tar.bz2: bzip2 compressed data, block size = 900k
2. Поврежденная загрузка?
Попробуйте повторно загрузить файл. Я просто скачал его, и он отлично распаковал.
$ wget http://c758482.r82.cf2.rackcdn.com/Sublime\ Text\ 2.0.2.tar.bz2
$ file "Sublime Text 2.0.2.tar.bz2"
Sublime Text 2.0.2.tar.bz2: bzip2 compressed data, block size = 900k
$ tar jxvf "Sublime Text 2.0.2.tar.bz2"
Sublime Text 2/
Sublime Text 2/Pristine Packages/
Sublime Text 2/Pristine Packages/Lisp.sublime-package
Sublime Text 2/Pristine Packages/TCL.sublime-package
Sublime Text 2/Pristine Packages/Text.sublime-package
...