Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Чем заэкранировать доллар? / 8 сообщений из 8, страница 1 из 1
01.06.2009, 12:44
    #36018747
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заэкранировать доллар?
В выражении надо чтобы первый доллар вычислялся (первый аргумент скрипта) а второй использовался как есть.
Код: plaintext
1.
2.
#!/usr/bin/sh
EXPR="ps -ea | grep oracle$1 | awk '{print $1}'"
...
Рейтинг: 0 / 0
01.06.2009, 13:46
    #36018903
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заэкранировать доллар?
mayton wrote:
> В выражении надо чтобы первый доллар вычислялся (первый аргумент

Обратным слешем, естественно.

$ echo $a

$ echo \$a
$a
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
01.06.2009, 15:18
    #36019145
Maxim Demenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заэкранировать доллар?
Дык одиночные кавычки и так экранируют.

Best regards

Maxim
...
Рейтинг: 0 / 0
01.06.2009, 15:44
    #36019261
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заэкранировать доллар?
Maxim DemenkoДык одиночные кавычки и так экранируют.
В моём случае - нет.
...
Рейтинг: 0 / 0
01.06.2009, 15:54
    #36019312
StasL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заэкранировать доллар?
maytonВ выражении надо чтобы первый доллар вычислялся (первый аргумент скрипта) а второй использовался как есть.
Код: plaintext
1.
2.
#!/usr/bin/sh
EXPR="ps -ea | grep oracle$1 | awk '{print $1}'"


Вам же MasterZiv ответил.
Код: plaintext
1.
2.
#!/usr/bin/sh
EXPR="ps -ea | grep oracle$1 | awk '{print \$1}'"
...
Рейтинг: 0 / 0
01.06.2009, 16:37
    #36019487
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заэкранировать доллар?
Ну... как-бы сказать. Почти получилось. Остался пустяк. Надо чтобы в теле цикла сверкали только PID процессов. А там сейчас - какая-то каша.

move_process.sh
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
#!/usr/bin/sh

LOGDIR=/ora1/oracle/product/ 10 . 2 /db

echo ".SID=$1 prsset=$2" >> $LOGDIR/move_process.log

EXPR="ps -ea | grep oracle$1 | awk '{print \$1}'"

echo ".EXPR=$EXPR" >> $LOGDIR/move_process.log

for process in `$EXPR`
do
    #prsset $process $ 2 
    echo $process >> $LOGDIR/move_process.log
done


dc-odw02: oracle $ head -n 40 move_process.log
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
----------------------------------------------------------
 2009 - 06 - 01   15 : 31 : 43  : move_process : executed by crond
.SID=DC_MS prsset= 1 
.EXPR=ps -ea | grep oracleDC_MS | awk '{print $1}'
PID
TTY
TIME
COMMAND
 0 
?
 1 : 44 
swapper
 1 
?
 4 : 18 
init
 8 
?
 0 : 00 
kmemdaemon
 9 
?
 0 : 00 
ioconfigd
 10 
?
 0 : 02 
ObjectThreadPo
 11 
?
 0 : 43 
nfsktcpd
 12 
?
 0 : 01 
autofskd
 13 
?
 0 : 00 
usbhubd

...
Рейтинг: 0 / 0
01.06.2009, 17:11
    #36019602
avb1003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заэкранировать доллар?
maytonНу... как-бы сказать. Почти получилось. Остался пустяк. Надо чтобы в теле цикла сверкали только PID процессов. А там сейчас - какая-то каша.

move_process.sh
Код: plaintext
1.
2.
3.
...
for process in `$EXPR`
...

У меня на такое "ps" обругался и посоветовал "ps --help".
Так надо:
Код: plaintext
1.
2.
3.
4.
...
for process in `eval $EXPR`
...

...
Рейтинг: 0 / 0
01.06.2009, 17:26
    #36019653
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заэкранировать доллар?
Да у меня еще вчера вечером этот исходник работал как часы в OpenSuse. Сегодя я перенёс его в Shell от HP-Unix и ловлю грабли. Ладно. Отпишу вечером, что получилось. Чувствую что дело в шелле.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Чем заэкранировать доллар? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]