powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Мистика в bash
3 сообщений из 3, страница 1 из 1
Мистика в bash
    #39647249
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: powershell
1.
2.
3.
4.
5.
6.
14:56:44 root ~ # [ -n "$(/etc/init.d/nginx configtest | grep 'failed')" ] && /etc/init.d/nginx restart || echo 'error'
error
14:56:45 root ~ # alias nginxres="[ -n "$(/etc/init.d/nginx configtest | grep 'failed')" ] && /etc/init.d/nginx restart || echo 'error'"
14:56:49 root ~ # nginxres
[ ok ] Restarting nginx (via systemctl): nginx.service.
14:56:51 root ~ #



(-n стоит в для примера)

Объясните.
...
Рейтинг: 0 / 0
Мистика в bash
    #39647266
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10,

alias nginxres .... - команда же полностью интерпретируется шелом, поэтому ваш $(...) в alias попадает уже вычисленным:

Код: sql
1.
2.
3.
4.
5.
bash-3.2$ [ -n "$(echo 'success' | grep 'failed')" ] && echo 'success' || echo 'failed'
failed
bash-3.2$ alias xxx="[ -n "$(echo 'success' | grep 'failed')" ] && echo 'success' || echo 'failed'"
bash-3.2$ alias xxx
alias xxx='[ -n  ] && echo '\''success'\'' || echo '\''failed'\'''



PS. Вообще писать однострочники - это моветон, если /etc/init.d/nginx написан правильно, то нужно писать так и не сношать мозг:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
#!/bin/bash

/etc/init.d/nginx configtest > /dev/null 2>&1
if [ "x0" = "x$?0" ]; then
  /etc/init.d/nginx restart
else
  echo 'error'
fi



или просто: /etc/init.d/nginx reload
...
Рейтинг: 0 / 0
Мистика в bash
    #39647325
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ха, вот я балда, спасибо)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Мистика в bash
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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