LINUX.ORG.RU

«> filename» будет работать не во всех шелах, хотя, писать в начале скрипта «#!/bin/bash» и использовать
«cat /dev/null» или [ x"$foo" = xbar ], ИМХО, не логично.

Только почему ": > filename", а не просто «> filename»?

mky ★★★★★
()

: > filename

Может для совместимости, али ":" входит в posix?

«делает» fork() ?

Действительно, shell для использования fork вот никак не предназначен.

anonymous
()
Ответ на: комментарий от mky

> filename

Потому что «cat» (для создания файла на месте) используется чаще, нежели «cat /dev/null». В zsh так себя и ведет.

anonymous
()
Ответ на: комментарий от dmitry_malikov

Да, но зачем они тогда его ставят? Я так понимаю он заглушка, и здесь ни к чему? Писать багрепорт?

Trieforce
() автор топика
Ответ на: комментарий от Trieforce

Если это ответ на вопрос «Кто? Где?» то получается, что Trieforce ставит nop (двоеточие) в комменте на ЛОРе? :-)

А багрепорты нужно писать по поводу серьёзных ошибок, ведущих к неправильному поведению кода, а не по поводу стиля программирования.

mky ★★★★★
()
Ответ на: комментарий от mky

mky

Только почему ": > filename", а не просто «> filename»?

потому-что :>filename это перенаправление (REDIRECTION) вывода команды, вот двоеточие это и есть команда. А вот где описан случай >filename я что-то не нашёл.

drBatty ★★
()

Trieforce

Почему так часто используется $subj

я никогда не использую subj, впрочем как и другие команды, для набора которых нужно много букв. Вроде cat filename|grep a|grep b|grep c.

drBatty ★★
()
Ответ на: комментарий от Trieforce

Да не придирайся ты. builtin же лучше форка? Не?

В интерактивном режиме - да, в скрипте - не всегда. (В том числе и переносимость, которую вы, судя по всему соизволили отнести к «придиркам», кроме того «cat /dev/null» - читабельнее).

anonymous
()
   : > filename
      # The > truncates file "filename" to zero length.
      # If file not present, creates zero-length file (same effect as 'touch').
      # The : serves as a dummy placeholder, producing no output.

   > filename    
      # The > truncates file "filename" to zero length.
      # If file not present, creates zero-length file (same effect as 'touch').
      # (Same result as ": >", above, but this does not work with some shells.)
Trieforce
() автор топика
Ответ на: комментарий от anonymous

Не каких «соизволили», я конкретно не врубаюсь.

Trieforce
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.