Команды Cshell - PullRequest
       8

Команды Cshell

0 голосов
/ 24 июля 2010

Когда я получаю строки одну за другой, почему программисты иногда пишут:

set line = ($<)
set line = ($line)

Что именно означают эти строки?

Ответы [ 2 ]

0 голосов
/ 29 июля 2010
set line = ($<)

Это читает строку ввода из stdin, а затем разбивает ее на массив, разделяя слова на пробелы, так что $line[1] - это первое слово, $line[2] - это второе слово и т. Д.

set line = ($line)

Это то же самое, что и выше, но там, где $ line может быть одним словом, оно станет массивом слов. i.e.:

set line = ($<)

совпадает с:

set line = "$<"
set line = ($line)
0 голосов
/ 24 июля 2010

Я нашел обзор csh здесь: http://linux.die.net/man/1/csh

Я ценю, что вы, возможно, не используете Linux, но я всегда находил Linux O'Reilly в книге Nutshell, отлично подходящей для сценариев оболочки.

Чтобы конкретно ответить на ваши вопросы (из поста выше, чтобы я мог ошибаться!)

  • $
  • ($ line): выполнит содержимое $ line в подоболочке

Конечно, как и все в Csh - вам, вероятно, следует просто использовать Bash и жить счастливее:)

Dan

...