URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9006
[ Назад ]

Исходное сообщение
"profile: sed"

Отправлено emasun , 24-Янв-11 14:19 
IP адрес из /etc/hosts
В шеле:
$ echo $0
-sh
$ sed -n "/\<`hostname`\>/p" /etc/hosts | awk '{print $1}'
192.168.0.5

Вставляю в /etc/profile
HOSTIP=`sed -n "/\<`hostname`\>/p" /etc/hosts | awk '{print $1}'`; export HOSTIP
echo $HOSTIP
логинюсь, и получаю:
sed: command garbled: /\<
-sh: >/p /etc/hosts | awk '{print }': not found

хелп плиз.
с учетом того, что в хостах прописаны хосты с именами к примеру "test" и "test2" ("onetest" и тд), необходимо выделить айпи адрес для хоста "test".


Содержание

Сообщения в этом обсуждении
"profile: sed"
Отправлено phpcoder , 24-Янв-11 14:29 
> HOSTIP=`sed -n "/\<`hostname`\>/p" /etc/hosts | awk '{print $1}'`; export HOSTIP

Ну потому что вы используете обратные кавычки дважды. Это и не будет работать. Попробуйте так:

HOSTIP=$(sed -n "/\<$(hostname)\>/p" /etc/hosts | awk '{print $1}'); export HOSTIP

либо

HOSTIP=`sed -n "/\<$(hostname)\>/p" /etc/hosts | awk '{print $1}'`; export HOSTIP



"profile: sed"
Отправлено emasun , 24-Янв-11 14:41 
>> HOSTIP=`sed -n "/\<`hostname`\>/p" /etc/hosts | awk '{print $1}'`; export HOSTIP
> Ну потому что вы используете обратные кавычки дважды. Это и не будет
> работать. Попробуйте так:
> HOSTIP=$(sed -n "/\<$(hostname)\>/p" /etc/hosts | awk '{print $1}'); export HOSTIP
> либо
> HOSTIP=`sed -n "/\<$(hostname)\>/p" /etc/hosts | awk '{print $1}'`; export HOSTIP

1 var:
-sh: syntax error: `HOSTIP=$' unexpected
2 var:
<пусто>


"profile: sed"
Отправлено phpcoder , 24-Янв-11 14:48 
А так?

HOSTNAME=`hostname`; HOSTIP=`sed -n "/\<$HOSTNAME\>/p" /etc/hosts | awk '{print $1}'`; export HOSTIP


"profile: sed"
Отправлено emasun , 24-Янв-11 15:00 
> А так?
> HOSTNAME=`hostname`; HOSTIP=`sed -n "/\<$HOSTNAME\>/p" /etc/hosts | awk '{print
> $1}'`; export HOSTIP

сенкс. работает.
ps. вложенные обратные ковычки не работают, так?