The OpenNET Project / Index page

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

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

"вопрос про кавычки в sh"  +/
Сообщение от artek on 26-Июл-10, 09:01 
я совсем только начинаю работать с текстовыми оболочками и иногда встречаются то двойные то одинарные кавычки и я не могу понять в чем отличие. подскажите кто-нибудь или скажите, где поискать инфу.
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "вопрос про кавычки в sh"  +/
Сообщение от DeadLoco (ok) on 26-Июл-10, 11:48 
>я совсем только начинаю работать с текстовыми оболочками и иногда встречаются то
>двойные то одинарные кавычки и я не могу понять в чем
>отличие. подскажите кто-нибудь или скажите, где поискать инфу.

Не с текстовыми оболочками, а с интерпретаторами командной строки.
Отличие в подстановке параметров. В двойных кавычках параметры подставляются, в одинарных - нет. В бектиках (`blabla`) закавыченное выполняется, результат подставляется.

Читать, как всегда, надо man (|ba|z|tc)sh

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

2. "вопрос про кавычки в sh"  +/
Сообщение от imya on 26-Июл-10, 14:06 
Спасибо!
не сказать, чтобы там было все понятно, но тем не менее.
бектики - это, надо полагать, backquotes?


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

3. "вопрос про кавычки в sh"  +/
Сообщение от DeadLoco (ok) on 26-Июл-10, 17:54 
>бектики - это, надо полагать, backquotes?

Да, они самые. Но современные стандарты предлагают более очевидный синтаксис вызова для подстановки:

VARIABLE=$( foo $bar )
эквивалентно
VARIABLE=`foo $bar`


УПД.

И, чтобы два раза не вставать, напоминаю о существовании функции eval:

FNAME="/etc/fstab"
COMMAND1="cat"
COMMAND2="ls -l"
INDEX=1

RESULT=$( eval \$COMMAND$INDEX $FNAME )

echo $RESULT

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

4. "вопрос про кавычки в sh"  +/
Сообщение от artek (ok) on 27-Июл-10, 07:11 
>VARIABLE=$( foo $bar )
>VARIABLE=`foo $bar`
>FNAME="/etc/fstab"
>COMMAND1="cat"
>COMMAND2="ls -l"
>INDEX=1
>RESULT=$( eval \$COMMAND$INDEX $FNAME )
>echo $RESULT

:-)
Благодарю!
Я на секундочку представил, что мы с вами говорим на равных, и я всё это понимаю.
Исключительно приятная фантазия!

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

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

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




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

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