The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"echo с кавычками и без (очень глупый вопрос)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"echo с кавычками и без (очень глупый вопрос)" 
Сообщение от Paul Искать по авторуВ закладки(??) on 19-Авг-05, 16:16  (MSK)
Соврешенно идиотский вопрос, но я просто не пойму даже в чем проблема может быть.

Положим есть такой совершенно дебильный скрипт, назовем его test.csh:

"#!/bin/csh

if ( $1 == a ) then
echo "AAAAAAAAAAAAA!"

endif

exit"

При попытке его выполнить с параметром a, то есть

test.csh a

выдается сообщение об ошике по поводу кавычки " - типа не понятно что с ней делать.

Соответственно если заменить строчку с echo на

echo AAAAAAAAAAAAA!

то все работает.

При этом если в интерактивном режиме работают естественно (ну то есть для меня это естественно, но похоже, что я заблуждался) оба варианта.
Поясните, пожалуйста, в чем тут дело. Почему он не хочет работать с вариантом с кавычками.

Я понимаю, что вопрос идиотский, но просто не понятно даже где искать ответ.

Да еще, система  - Solaris.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "echo с кавычками и без (очень глупый вопрос)" 
Сообщение от Alexander S. Salieff emailИскать по авторуВ закладки on 26-Авг-05, 18:41  (MSK)
>Соврешенно идиотский вопрос, но я просто не пойму даже в чем проблема
>может быть.
>
>Положим есть такой совершенно дебильный скрипт, назовем его test.csh:
>
>"#!/bin/csh
>
>if ( $1 == a ) then
>echo "AAAAAAAAAAAAA!"
>
>endif
>
>exit"
>
>При попытке его выполнить с параметром a, то есть
>
>test.csh a
>
>выдается сообщение об ошике по поводу кавычки " - типа не понятно
>что с ней делать.
>
>Соответственно если заменить строчку с echo на
>
>echo AAAAAAAAAAAAA!
>
>то все работает.
>
>При этом если в интерактивном режиме работают естественно (ну то есть для
>меня это естественно, но похоже, что я заблуждался) оба варианта.
>Поясните, пожалуйста, в чем тут дело. Почему он не хочет работать с
>вариантом с кавычками.
>
>Я понимаю, что вопрос идиотский, но просто не понятно даже где искать
>ответ.
>
>Да еще, система  - Solaris.

Дело в том, что строка в кавычках интерполируется шеллом на предмет спецсимволов. Вообще, строка без кавычек тоже должна, хотя тут поведение нестабильное. Единственное, что 100% не интерполируется, это строка в апострофах. Интерполятивное значение спецсимвола "!" - это некий event, подставляющий как-то по хитрому предыдущие и текущую комманду, точно не помню.

[salieff@saliev /]$ echo 'AAA!'
AAA!
[salieff@saliev /]$ echo "AAA!"
bash: !": event not found
[salieff@saliev /]$ echo "$HOME"
/home/salieff
[salieff@saliev /]$ echo '$HOME'
$HOME

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру