'в последний раз' не включает журналы в течение нескольких прошлых дней

У меня нет объяснения Почему они сделали это таким образом, но $ {: - Foo ...} У него есть приложение: он считается подсчетом параметра в местах, которые синтаксически требуют одного, но всегда просто расширяется до буквенного выпуска. Вы можете написать такие вещи, как это использовать флаги расширения или или Другие спецификаторы расширения на буквальной строке на месте:

$ echo ${(#)${=${:-65 66 67}}}
A B C
$ echo ${(q)${:-hello world!}}
hello\ world\!

Вы также можете использовать другие расширения внутри вашего Слово Строка :

$ restofarglist=arg3,arg4
$ echo ${${:-arg1,arg2,$restofarglist}//,/ }

Все это поведение документируется вправо в конце раздела на расширении параметра :

, если $ {...} Выражение параметра типа или $ (...) $ (...) Подстановка команды типа используется вместо имя выше, он сначала расширяется, и результат используется как если бы это было Значение имя .

Вы можете гнездиться этими расширениями произвольно глубоко, хотя они справедливо становится непонятными. Существуют странные угловые случаи вокруг использования $ {name = Word} семейство расширений внутри обеих сторон.

Это довольно тупой способ делать вещи в целом, но это как единственное приложение, которое я знаю для $ {: -} , и единственный способ сделать эти вещи, не создавая другую переменную. Документация определенно может быть более четкой, хотя все биты технически там.

0
06.10.2014, 12:43
1 ответ

Просто используйте флаг - W Флаг Test Утилиты:

[ -w /path/to/file ] && echo "writeable" || echo "write permission denied"

Обратите внимание, что если вы собираетесь написать в файл позже, Все еще возможно, что вы не сможете написать ему. Файл может быть перемещен, разрешения могут быть изменены и т. Д. Это также может случиться, что --w обнаруживает разрешения на запись, но некоторые другие факторы вмешательны, чтобы сделать файл не пишет .

-121--21195-

Файл журнала, который в последний раз , вероятно, был повернут на первом месяце. Я не знаком с OS / X, но проверяйте MANPAGE для используемого файла, и сделайте что-то вроде:

last -f /var/log/wtmp.1

, чтобы сказать , последний , чтобы перечислить логины из более старого файла.

1
28.01.2020, 02:52

Теги

Похожие вопросы