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


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

Автор Тема: Shell script и использование переменных как команд в скрипте.  (Прочитано 829 раз)

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

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
#! /bin/sh
case $1 in
  '-r') PRINT='sed -r "s/a a/b^b/"' ;;
  *) PRINT=cat ;;
esac
/bin/echo -e "#! xxx\na a\n" | $PRINT

Я совершенно точно упускаю что-то до ужаса очевидное, но мне никак не удаётся переписать строку
  '-r') PRINT='sed -r "s/a a/b^b/"' ;;
так, чтобы не возникало
sed: -e expression #1, char 1: unknown command: `"'

:(
Кавычки нужны (пробел...)
Без назначения переменных всё работает как хочется.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Попробуйте двойные кавычки заменить на одинарные прямые.

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Пробовал. Вообще никак. Если убираю внутренние кавычки -
sed: -e expression #1, char 3: unterminated `s' command
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

 

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