Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Переменные в bash-скриптах  (Прочитано 2117 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн a1eXei

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Переменные в bash-скриптах
« : 17 Марта 2016, 20:38:15 »
Добрый день.
Сильно не бейте :coolsmiley:
Как можно в скрипте сделать переменную как результат выполнения команды?
Т.е. вот скрипт для примера, выполнить команду uname -a и отправить на другой сервер POST-запросом.
#!/bin/sh
command=uname -a
curl -s \
-X POST \
https://domain.com/robot/command \
-d text="Результат команды uname -a вставить сюда." \
вроде так, только не пойму как выполнить команду, результат присвоить переменной и подставить дальше в скрипте, если значение переменной не любит пробелы.

Оффлайн piyavking

  • Активист
  • *
  • Сообщений: 743
  • никогда так не было, чтобы никак не было
    • Просмотр профиля
    • Пиявкин
Re: Переменные в bash-скриптах
« Ответ #1 : 17 Марта 2016, 20:45:32 »
#!/bin/bash

однострочная_переменная=`команда`
многострочная_переменная="$(команда)"
крайний LTS Netboot, awesomeWM, urxvtd, firefox, vim/gvim, mpv/smplayer, linux-lowlatency, jack, guitarix, lmms, ardour, mednafen, dsda-doom

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Переменные в bash-скриптах
« Ответ #2 : 17 Марта 2016, 20:46:45 »
Код: (bash) [Выделить]
result=$(uname -a)
curl -s -X POST 'https://domain.com/robot/command' -d text="$result"
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Переменные в bash-скриптах
« Ответ #3 : 18 Марта 2016, 03:15:16 »
#!/bin/bash

однострочная_переменная=`команда`
многострочная_переменная="$(команда)"
Неверно. $( ... ) в обоих случаях.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн piyavking

  • Активист
  • *
  • Сообщений: 743
  • никогда так не было, чтобы никак не было
    • Просмотр профиля
    • Пиявкин
Re: Переменные в bash-скриптах
« Ответ #4 : 19 Марта 2016, 17:31:09 »
Неверно. $( ... ) в обоих случаях.

Всмысле?

piyavking@koeuk:~$ seq 1 5
1
2
3
4
5
piyavking@koeuk:~$ echo $(seq 1 5)
1 2 3 4 5
piyavking@koeuk:~$ echo "$(seq 1 5)"
1
2
3
4
5
piyavking@koeuk:~$ echo `seq 1 5`
1 2 3 4 5
piyavking@koeuk:~$

крайний LTS Netboot, awesomeWM, urxvtd, firefox, vim/gvim, mpv/smplayer, linux-lowlatency, jack, guitarix, lmms, ardour, mednafen, dsda-doom

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Переменные в bash-скриптах
« Ответ #5 : 19 Марта 2016, 19:41:17 »
Читайте маны.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн piyavking

  • Активист
  • *
  • Сообщений: 743
  • никогда так не было, чтобы никак не было
    • Просмотр профиля
    • Пиявкин
Re: Переменные в bash-скриптах
« Ответ #6 : 20 Марта 2016, 01:48:56 »
AnrDaemon,
выражайтесь яснее.
крайний LTS Netboot, awesomeWM, urxvtd, firefox, vim/gvim, mpv/smplayer, linux-lowlatency, jack, guitarix, lmms, ardour, mednafen, dsda-doom

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Переменные в bash-скриптах
« Ответ #7 : 20 Марта 2016, 02:08:15 »
piyavking, это вы выражайтесь яснее.
Ваша демонстрация чётко определила причину, почему бэктики использовать нельзя.
Они не цитируются и не вкладываются нормально, в отличие от $( ... ).
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.026 секунд. Запросов: 23.