Перейти к содержимому

Linux как выйти из bash

  • автор:

Выйти из режима ввода

Добрый день. Работаю в консоли CentOs и иногда при нажатии на какую-то комбинацию клавиш появляется ввод из которого не знаю как обратно выйти — Ctr+Z не помогает. Вот так выглядит эта картина: http://itmages.ru/image/view/2390869/7c5bf4f5 Подскажите пжл, как выйти обратно в консоль в такой ситуации?

Nezhnayka28
24.03.15 19:55:12 MSK

Ctrl+C или завершить команду.

DeadEye ★★★★★
( 24.03.15 20:04:25 MSK )

это приглашение $PS2, которое используется, чтобы запросить продолжение ввода. Например если ввести одинарную кавычку, в таком случае, чтобы завершить ввод, нужно ввести вторую. Был бы полный скриншот, было бы яснее. Попробуй Ctrl-D нажать, это отправить EOF в интерпретатор, чего он скорее всего не ожидает и скажет чтото типа

~ $ ' > > > bash: unexpected EOF while looking for matching `'' bash: syntax error: unexpected end of file 

avsej ★
( 24.03.15 20:06:16 MSK )
Ответ на: комментарий от avsej 24.03.15 20:06:16 MSK

Попробуй Ctrl-D нажать, это отправить EOF в интерпретатор, чего он скорее всего не ожидает и скажет чтото типа

Да, помогло, спасибо! На самом деле иногда промазываю по кнопкам и случайно ввожу одинарную кавычку потом Интер, получается такая штука.

Как выйти из man при этом не останавливая сам процесс?

Что бы запустить задачу в фоновом режиме надо в конце команды добавить знак &, либо запустить её в обычном режиме, после чего нажать комбинацию ctrl+Z, отправив ей сигнал TSTR. Что бы продолжить её выполнение в фоновом режиме используется команда bg (background).

Отобразить список текущих фоновых задач можно командой jobs.

Что бы вывести задачу из фонового режима – используется команда fg (foreground), которой можно либо передать номер задачи в качестве аргумента.

$ tar cpf somefile.tar somefolder 2>/dev/null # запускаем tar ^Z # нажимаем Ctrl+Z [1]+ Stopped tar cpf somefile.tar somefolder 2>/dev/null $ jobs # Смотрим список задач [1]+ Stopped tar cpf somefile.tar somefolder 2>/dev/null $ bg 1 # Продолжаем выполнение первой задачи в фоне [1]+ tar cpf somefile.tar somefolder 2>/dev/null $ fg 1 # Выводим задачу на передний план 

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

Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

  • Форум русскоязычного сообщества Ubuntu »
  • Архив »
  • Архив »
  • Архив тем до 2016г »
  • Выход из консольного режима

Страницы: [1] Вниз

Автор Тема: Выход из консольного режима (Прочитано 16772 раз)

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

Страницы: [1] Вверх

  • Форум русскоязычного сообщества Ubuntu »
  • Архив »
  • Архив »
  • Архив тем до 2016г »
  • Выход из консольного режима

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

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Linux как выйти из bash

Есть вот такой скрипт к примеру
#!/bin/bash
CpuUser_tmp=`/usr/local/bin/snmpget -m ALL -v 1 -c public 192.168.1.1 1.3.6.1.4.1.21.11.2021.9.0 || {echo ALarm; exit;}`
CpuUser=`echo $CpuUser_tmp | awk ‘{ print $1}’;`

И не работает. Т.е. необходимо если не выполнилась команда snmpget то чтобы дальше скрпит не выполнялся.

Оглавление

  • Как выйти из bash скрипта, gr, 15:41 , 23-Мрт-05, (1)
  • Как выйти из bash скрипта, jonatan, 15:50 , 23-Мрт-05, (2)
    • Как выйти из bash скрипта, gr, 15:52 , 23-Мрт-05, (3)
      • Как выйти из bash скрипта, jonatan, 16:23 , 23-Мрт-05, (4)

      Сообщения по теме

      >Есть вот такой скрипт к примеру
      >#!/bin/bash
      >CpuUser_tmp=`/usr/local/bin/snmpget -m ALL -v 1 -c public 192.168.1.1 1.3.6.1.4.1.21.11.2021.9.0 || {echo ALarm;
      >exit;}`
      >CpuUser=`echo $CpuUser_tmp | awk ‘{ print $1}’;`
      >
      >И не работает. Т.е. необходимо если не выполнилась команда snmpget то чтобы
      >дальше скрпит не выполнялся.

      {echo ALarm; exit; }

      производит выход из блока {}
      так что if напиши классический

      Например так

      #!/bin/bash
      CpuUser_tmp=`/usr/local/bin/snmpget -m ALL -v 1 -c public 192.168.1.1 1.3.6.1.4.1.21.11.2021.9.0`
      RETVAL=$?
      [ $RETVAL -eq 0 ] || { echo ALarm; exit; }
      CpuUser=`echo $CpuUser_tmp | awk ‘{ print $1}’;`

      >Например так
      >
      >#!/bin/bash
      >CpuUser_tmp=`/usr/local/bin/snmpget -m ALL -v 1 -c public 192.168.1.1 1.3.6.1.4.1.21.11.2021.9.0`
      >RETVAL=$?
      >[ $RETVAL -eq 0 ] || { echo ALarm; exit; }
      >CpuUser=`echo $CpuUser_tmp | awk ‘{ print $1}’;`

      сам это запускал? exit выходит из оболочки {}

      >сам это запускал? exit выходит из оболочки {}

      Да, я ты?

      man bash

      exit [n]
      Cause the shell to exit with a status of n. If n is omitted,
      the exit status is that of the last command executed. A trap on
      EXIT is executed before the shell terminates.

      >Есть вот такой скрипт к примеру
      >#!/bin/bash
      >CpuUser_tmp=`/usr/local/bin/snmpget -m ALL -v 1 -c public 192.168.1.1 1.3.6.1.4.1.21.11.2021.9.0 || {echo ALarm;
      >exit;}`
      для выполнения команды в `хх` порождается новый екз шелла и из него и делается exit, а надо
      проверять результат команды CpuUser_tmp=.
      Ясно?

      >Есть вот такой скрипт к примеру
      >#!/bin/bash
      >CpuUser_tmp=`/usr/local/bin/snmpget -m ALL -v 1 -c public 192.168.1.1 1.3.6.1.4.1.21.11.2021.9.0 || {echo ALarm;
      >exit;}`
      >CpuUser=`echo $CpuUser_tmp | awk ‘{ print $1}’;`
      >
      >И не работает. Т.е. необходимо если не выполнилась команда snmpget то чтобы
      >дальше скрпит не выполнялся.

      #!/bin/bash
      Cputmp=`/usr/local/bin/snmpget -m ALL -v 1 -c public 192.168.1.1 1.3.6.1.4.1.21.11.2021.9.0 || echo NULL`
      if [ $Cputmp != «NULL» ]; then
      echo «True»
      else
      echo «False»
      exit 1
      fi

      Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *