Как посмотреть вывод демона в сессии на Raspbian/Дебиан?

Ладно я довольно новичок в Linux и у меня есть настройка Raspberry Пи 2 с Raspbian и работает кучу вещей для слежения за воздушными судами, а также приемник (РТЛ-СДР). Все работает отлично и я использую Dump1090 для декодирования/демодулировать сигнал.

Dump1090 есть --интерактивный режим, который отображает строки/колонки в терминале, когда начал нормально (не как демон), который является сигналом приемника является собирание из самолета. Я Dump1090 начиная, как демон, и теперь я бы хотел увидеть --интерактивные выходной, когда я начинаю сеанс с команды или что-то. Демон запускается с --уже интерактивных.

Очевидно, когда я SSH в Я не вижу выхода и я хотел бы знать, если есть способ я могу "клавиш Alt", чтобы посмотреть на его выходе. Разве это не возможно? Нужно ли мне устанавливать что-то, в частности, на ОС для того, чтобы это сделать?

Спасибо заранее.

Редактировать: я пошел с комментарием terdon и пользуясь советами из garethTheRed. Печать в файл и доступ к файлу, чтобы увидеть выход работает в терминале нормально, поэтому я пойду с этим. Я также использую это в сочетании с веб-сервера, предоставляющего данные. Я буду отмечать ответ garethTheRed как принят, так как он единственный, ради последовательности, сохраняя мое объяснение также используя советы terdon, который является решением моей проблемы. Спасибо за помощь.

+737
Shayan Salehian 14 июн. 2016 г., 17:47:42
31 ответов

Похоже, что команду dmsetup вычисляет двигатель от оптимальный размер, не удосужившись проверить, что на самом деле кратен размеру физического блока. Как указано в ложном внимание вопрос, это оптимальный размер имеет смысл из-за ограничений USB-кабеля.

Так что решение простое: использовать - выровнять грузоподъемности , чтобы скорректировать измеренное значение. Значение 8 должно работать (и производят минимально возможный заголовок); значение по умолчанию при использовании не могу сказать документируется, как 2048. Поэтому я пошел по умолчанию:

пакет cryptsetup luksFormat на /dev/sdk1-выровнять-грузоподъемность 2048 --проверить-пароль --криптография SHA512 хэш-с 512

После этого, полезная нагрузка смещение сейчас 4096 (от luksDump), и предупреждение ядра по-прежнему производится:

ядра: устройства отображения: таблица: 253:14: добавив устройство sdk1 вызвало несоответствие выравнивание: physical_block_size=4096, logical_block_size=512, alignment_offset=0, пуск=2097152

... но 2097152 делится на 4096, так что это ложное предупреждение, упомянутых в другой вопрос. Так что проблема решена.

+958
Dishen agarwal 03 февр. '09 в 4:24

Взгляните на mac80211_hwsim модуль ядра. Этот модуль имитирует количество виртуальных "радиоприемники" (WiFi карты, или физического уровня), которые общаются друг с другом. Е. Г.,

команды modprobe mac80211_hwsim радио=3

приведу 3 из них. Использовать СРС Дев просмотреть их и увидеть MAC-адрес. Затем вы можете использовать СРС и ИС для их настройки, а также имитировать точку доступа и столько клиентов, сколько вы хотите. Вы также получите hwsim0 интерфейса по IEEE802.11/radiotap тип, и вы можете запустить с помощью Wireshark на нее, чтобы увидеть сообщения, которые идут через "виртуальный" воздух.

Если программное обеспечение вы используете на беспроводных сетевых интерфейсов не могу привязать к конкретным интерфейсам, следует поместить его в сетевое пространство имен для каждого клиента.

+945
Markosipo 12 июл. 2015 г., 12:33:47
Другие ответы

Связанные вопросы


Похожие вопросы

Пожалуйста, помогите, как это огромно, необходимые для проекта, который должен быть оценен следующей неделе. Кроме того, я очень новичок в этом и не в состоянии найти помощь от существующего содержимого, доступных в Интернете.

Во время прошивки Ангстрем Linux на Toradex это колибри Т30 Ирис доску, я получаю очень странная проблема, в которой нет авто-загрузка начинается и тут не появляются любые загрузчика загрузчика строке, хотя это ожидается от шагов.

Когда надо прошить изображение на этой доске уже из образа доступен в SD-карты, рекомендуется использовать любые коммунальные услуги нравится экран, gtkterm/и т. д..

Что было предложено на их сайте, это использовать команду

экран устройства /dev/ttyUSB0 115200 # здесь 115200-это скорость-скорость.

Я проверил подтвердить наличие серийный-контактный разъем для USB-адаптер. Он работает и определила как устройство/dev/ttyUSB0 из команды dmesg | меньше. Таким образом, каждый шаг перед прошивка работает нормально. Просто как я использую вышеупомянутые команды экран в Ubuntu 13.10, это просто пустой экран в терминале и нет-такое мигание начинает происходит.

Не существует никакой автоматической загрузки шаг, который был упомянут на Toradex разработчика сайта. Я ждал еще 10 минут, но только чтобы найти, нет результата. Экран просто переходит в нулевое состояние с терминала такие вещи видны без содержания, и я должен покинуть, что используя сочетание клавиш Ctrl+А+Д , чтобы выйти на экран utulity на Ubuntu. Кроме того, бутлоадера совета работает нормально, как тут уже старая версия Ангстрем-Линукс загрузке. Мы просто хотели обновить пользовательский ОС Linux, предоставляемыми Colibri_Toradex...

Если кто-то знает, почему эта проблема происходит, и какими могут быть возможные решения??? Я высоко ценю его/ее ответ.

+941
Cisc0 18 июн. 2014 г., 16:10:47

Я не могу получить услугу systemd для запуска

[Крис@alarmpi shellinabox]$ судо systemctl статус shellinaboxd
* shellinaboxd.сервис - служить логин-терминалов по протоколу HTTP на порт 80
Загружен: загружен (файл/usr/lib в/systemd в/системы/shellinaboxd.обслуживание; включено; предустановленные поставщик: отключен)
Активный: неактивные (мертвые)

24 июл 22:20:57 alarmpi помощью systemd[1]: [каталог/usr/lib в/systemd в/системы/shellinaboxd.услуги:3] неизвестные значения 'обязанность' в разделе 'блок'
24 июл 22:22:10 alarmpi помощью systemd[1]: [каталог/usr/lib в/systemd в/системы/shellinaboxd.услуги:3] неизвестные значения 'обязанность' в разделе 'блок'
24 июл 22:24:55 alarmpi помощью systemd[1]: [каталог/usr/lib в/systemd в/системы/shellinaboxd.услуги:3] неизвестные значения 'обязанность' в разделе 'блок'

Вот это сервис:

[Блок]
Описание=служить логин-терминалов по протоколу HTTP на порт 80
Требуется=демон.услуги
После=демон.услуги

[Услуги]
Пользователь=Крис
Тип=разветвления
EnvironmentFile=/и т. д./конф.д/shellinaboxd
ExecStart=/usr/Бен/shellinaboxd $SHELLINABOXD_ARGS
ExecReload=/бин/убить -хап $MAINPID
KillMode=процесс
Перезагрузка=на аборт

[Установите]
WantedBy=Multi-потребителя.цель
+796
Michelle Rakestraw 10 янв. 2013 г., 00:17:47

Я могу искать по всему интернету и найти то, что связано количество для сигнал SIGKILL-9, но есть документации Linux (например, man-страницы), отражающее полный список сигналов и их количество?

+779
Ariel Kakou 10 июн. 2011 г., 13:36:11

Я думаю, что это просто быть последовательным с найти -экзек пункт, который представил этот фигурных скобок конвенции.

+758
David Radcliffe 8 янв. 2014 г., 09:50:34

У меня был дистрибутив, основанный на сервер Amazon EC2, на котором я был работает мой Java-приложения на основе. Для этого я написал скрипт, который работает прекрасно и выглядит следующим образом

 #! /Бен/ш
# набор переменных среды, которые используются
Путь=/каталоге:/usr на/sbin:/ОГРН:/usr/Бен
Переменной JAVA_HOME=/usr и/lib в/в jvm/java о-6-ВС/среда JRE
Ява=$переменной JAVA_HOME/bin в/Ява
Слово desc="Мои приложения"
Имя="мойсервер"
ДЕМОН=$ЯВА
DAEMON_HOME="/домашний/Ганеша/Мой_сервер/"
Банку=$DAEMON_HOME/MyServer.jar
DAEMON_ARGS="-Xms512m -Xmx4112m -банку $банку"
Идентификатора=/ВАР/выполнения/$имя.пид
ИМЯ_СКРИПТА=/и т. д./init.д/мой_сервер
#пользователь, который будет запускать скрипт
Пользователь=Ганеш

# Загружаем подробное задание и другие РВС переменных
. /lib/init/vars.sh

# Определить ЛСБ log_* функции.
# Зависит от ЛСБ-база (>= 3.0-6), чтобы убедиться, что этот файл присутствует.
. /Либ/ЛСБ/инит-функции

#
# Функция, которая запускает демон/сервис
#
do_start()
{
 старт-стоп-демона -Н-10 -б-старт-д $DAEMON_HOME --тихий --chuid $пользователей -м-P $PID-файл в exec --$демона -- $DAEMON_ARGS \
 || возвращает 2


 Тест, чтобы увидеть, если двигатель запущен
 старт-стоп-демона -б --испытание --старт-д $DAEMON_HOME --тихий --chuid $пользователей -м-P $PID-файл --метод exec $демона -- $DAEMON_ARGS >/dev/нуль 2>&1

 дело "$?" в
 0) эхо "[ не ] приложение двигатель не запустился";;
 1) Эхо "[ ОК ] приложение двигатель запущен";;
 эсок 
}

#
# Функция, которая останавливает демонов/служб
#
do_stop()
{
 старт-стоп-демона-прекрати-повтора 120 --oknodo --PID-файл $PID-файл
Код="$?"
 РМ -Ф $PID-файл
 возвращение "$РАТАВАЛІ"
}

дело "$1" в
начала)
 [ "$Многословен" != нет ] && log_daemon_msg "начиная с $деск" "$имя"
 Эхо "начиная с $деск" "$имя"

do_start
 дело "$?" в
 0/1) [ "$многословен" != нет ] && log_end_msg 0 ;;
 2) [ "$многословен" != нет ] && log_end_msg 1
 эхо "[ не ]";; 
эсок
;;

стоп)
 [ "$Многословен" != нет ] && log_daemon_msg "остановка $деск" "$имя"
 Эхо "останавливать $деск" "$имя"
do_stop
 дело "$?" в
 0/1) [ "$многословен" != нет ] && log_end_msg 0 ;;
 2) [ "$многословен" != нет ] && log_end_msg 1 ;;
эсок
 Эхо "[ ОК ]"
;;
перезагрузки)
#
 # Если "перезагрузка" вариант реализуется тогда удалить
 псевдоним силу-перезагрузка#'' 
#
 log_daemon_msg "перезапуск $деск" "$имя"
 Эхо "перезапуск $деск" "$имя"
do_stop
 дело "$?" в
0/1)
do_start
 дело "$?" в
 0) log_end_msg 0 ;;
 1) log_end_msg 1 ;; # Старый процесс все еще работает
 *) log_end_msg 1 ;; # Не запускается
эсок
;;
*)
 # Не удалось остановить
 log_end_msg 1
;;
эсок
;;
*)
 Эхо "использование: $ИМЯ_СЦЕНАРИЯ {запуск|остановка|перезапуск}" >&2
 выход 3
;;
эсок

:

Теперь я переехал мой сервер с Ubuntu на Amazon Линукс АМИ. Поэтому я изменил выше сценария следующим образом

#!/бин/Баш

Библиотека функция # источник.
. в /etc/инит.д/функций

Код=0
прог="мойсервер"
Для lockfile=/ВАР/Лок/присутствует не у всех/$прогр
Идентификатора=/ВАР/запустить/$прог.пид
Путь=/каталоге:/usr на/sbin:/ОГРН:/usr/Бен
Ява=/usr/Бен/Ява
Слово desc="Мои приложения"
ДЕМОН=$ЯВА
DAEMON_HOME="/домашний/Ганеша/Мой_сервер"
Банку=$DAEMON_HOME/MyServer.jar
DAEMON_ARGS="-Xms512m -Xmx4112m -банку $банку"
Идентификатора=/ВАР/выполнения/$имя.пид
ИМЯ_СКРИПТА=/и т. д./init.д/мой_сервер
#пользователь, который будет запускать скрипт
Пользователь=корень

Эхо "все значение"

запустить() {
 эхо "в начало"
 Эхо -Н ", после чего прога: "
 демон --пользователя $user --оператор chdir $DAEMON_HOME --PID-файл $PID-файл $ДАЕМОН -- $DAEMON_ARGS
Код=$?
 [ $Код -экв 0 ] && касания $для lockfile
Эхо
 возврат $код
}

стоп() {
 Эхо -Н "закрытие $прогрессив: "
 killproc --PID-файл
Код=$?
 [ $Код -экв 0 ] && РМ -Ф $для lockfile
Эхо
 возврат $код
}

статус() {
 Эхо -Н "Проверка статуса $прогрессив: "
Код=$?
 возврат $код
}

дело "$1" в
начала)
начать
;;
стоп)
остановка
;;
статус)
статус
;;
перезагрузки)
остановка
начать
;;
*)
 Эхо "Usage1: $прог {пуск|остановка|статуса|рестарт}"
 выход 1
;;
эсок
выйти $код

У меня проблемы в замене следующие основные линии в функции старта и стопа

старт-стоп-демона -Н-10 -б-старт-д $DAEMON_HOME --тихо --chuid
$Пользователей -м-P $PID-файл --старпома $демона -- $DAEMON_ARGS \
 || возвращает 2

и

старт-стоп-демона-прекрати-повтора 120 --oknodo --PID-файл $PID-файл

Амазонки Линукс заменяет 'старт-стоп-демона' с 'демон' и с помощью Man-странице Я изменил строки следующим образом

демон --пользователя $user --оператор chdir $DAEMON_HOME --PID-файл $PID-файл $ДАЕМОН -- $DAEMON_ARGS

и

killproc --PID-файл

Но это дает следующее сообщение об ошибке.

Начиная мой_сервер: ./мой_сервер: использование: демон [+/-nicelevel] {программа}

Будет ли кто-нибудь наставит меня, чтобы написать правильный скрипт для Amazon Линукс АМИ?

Редактировать:

Функция старта я сделал следующие изменения и теперь этот скрипт запускает демон, но не может создать PID-файл и, следовательно, она не сможет остановить демона

компакт-диск $DAEMON_HOME
демон --пользователя $user --PID-файл $PID-файл $ДАЕМОН $DAEMON_ARGS >/dev/нуль 2>&1 & 

Так может кто-нибудь предложить мне о том, что в нем не так, и что мне нужно сделать, так это создать файл PID auomatically?

+726
hadadim942 28 мар. 2018 г., 22:55:57

Вот простая версия, если вы не заботитесь о силовом копирования каждого файла. Он перебирает каталоги (при условии четырех цифр, как в вашем примере), естественно сортируя их по порядку, и копировать их содержимое текущего каталога:

на сегодняшний день в [[:цифра:]][[:цифра:]][[:цифра:]][[:цифра:]]/; сделать СР -Р "$дата"/* .; сделано

Разбиты на несколько строк:

на сегодняшний день в [[:цифра:]][[:цифра:]][[:цифра:]][[:цифра:]]/
делать 
 СР -Р "$дата"/* .
сделано

Если у вас есть dotfiles в каталоги верхнего уровня (непосредственно под лет), то вы хотели бы shopt -с dotglob загодя.

Это копии каждого файла, позволяя "новее" (файлы от более поздних лет) файлы затирать старые файлы.


Если имена разные, то вам нужен другой подстановочные/подстановка шаблона. В случае числовые префиксы, которые не являются нулями, я бы предложил:

для каталога в ?-* ??-* ???-* ... и т. д ...

столько, сколько вам нужно, чтобы захватить максимальный числовой префикс. Сортировка происходит в двух местах:

  1. на основе местоположения: в одном-значное каталог имена указаны первыми в для петли, два-значное имена второго и т. д...
  2. в каждую подстановочный шаблон каталога имена сортируются лексически, поэтому 10-и до 11-и т. д., И так далее.
+720
LAE 27 июл. 2011 г., 06:46:23

Я пытаюсь установить iOS-в WebKit-отладка-прокси. и в то время как запуск 'Make', я получаю следующее сообщение об ошибке.

webinspector.C: в функции 'idevice_connection_get_fd_wrapper':
webinspector.З.:50:3: ошибка: неявная декларация функции 'idevice_connection_get_fd' [-Werror=неявная функция-декларация]
 idevice_error_t подстраховаться = idevice_connection_get_fd(подключение, &ФД);

Я нахожу советы на странице GitHub этого probject

ошибка во время компиляции

неявное объявление idevice_connection_get_fd функция является недействительным в стандарте C99
idevice_error_t подстраховаться = idevice_connection_get_fd(подключение, &ФД);

Построить с ветки master libimobildevice или если вы используете доморощенного >самогон удалить libimobiledevice && заварить установки --глава libimobiledevice

как я пытаюсь установить на Линукс (Ubuntu), у меня нет доморощенного.

Что значит с 'построить с мастером филиала libimobildevice'?

+684
civodul 19 окт. 2010 г., 13:34:20

Попробуйте это:

ням установить Man-страниц
+666
Zguellit 9 авг. 2016 г., 10:20:50

Вам не нужно или хотите ноль раздела. Вы хотите, чтобы заполнить его случайными данными, так что гипотетический злоумышленник не может сказать, какие используются секторов и которые не используются. Обычно это делается путем открытия в обычный пакет cryptsetup объем с помощью случайного ключа и ДД-Инг /dev/нуль на объем. (Это гораздо быстрее, чем ДД-ное устройство/dev/urandom на раздел.) Вы закройте простая использовании громкости и запуска пакета cryptsetup luksFormat.

Допустим, что раздел или файл, на котором вы хотите создать Лукс контейнер $ENCRYPTED_CONTAINER и имя контейнера составляет $контейнер; во-первых, вы заполняете $ENCRYPTED_CONTAINER случайными данными (пример кода работает на Ubuntu или другой Линукс вариантов где админ команды с судо):

судо использовании plainOpen --ключ-файл /dev/urandom $ENCRYPTED_CONTAINER $контейнер
судо ДД, если=/dev/нуль=/Дев/маппер/$контейнер БС=1М
судо использовании plainClose $контейнер

Затем вы создаете контейнер LUKS и открыть его:

 судо пакета cryptsetup luksFormat $ENCRYPTED_CONTAINER
 судо использовании luskOpen $ENCRYPTED_CONTAINER $контейнер
+578
TheMaker 4 янв. 2014 г., 08:12:22

Если пользователь собирается SSH к системе, это немного сложно. Если они будут использовать клиент SFTP можно настроить chroot-окружении. Это позволит вам установить ChrootDirectory в папку, которую вы ссылаетесь.

+507
Cladael 4 сент. 2019 г., 03:42:30

Вам нужно создать новый режим для разрешение требуется.

Использовать вариатор 1366 768, на выходе получается что-то вроде этого:

# 1368 x 768 в качестве 59.88 (вариатор) hsync Гц: 47.79 кГц; pclk: 85.25 МГц
Режим "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +дней назад

Затем использовать:

> расширения xrandr --использованием newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +дней назад
> расширения xrandr --addmode VGA в-0 "1368x768_60.00"

И, наконец, вы можете установить его:

расширения xrandr --выход VGA-0 --режим "1368x768_60.00"
+499
pandersraisin 9 дек. 2019 г., 02:18:19

В общем, Линукс загружается только инода в память при открытии файла. Данные могут сохраняться в обновленном виде в памяти в течение некоторого времени после того, как файл будет закрыт, прежде чем он будет сбрасываться на диск (через логику кэширования) или маркированные употребления.

Это частые схемы использования файловых систем для некоторых файлов, которые будут многократно открываться и закрываться. Есть эффективность можно получить не перечитывая инода в последующую неделю.

Авторитетная ссылка на исходный код ядра Linux. КАТАЛОГ Источник/документации в исходном дереве часто имеет детали, как вы ищете, но может быть не полностью обновлена, чтобы соответствовать источнику.

+457
Drew Michial Hoppe 12 авг. 2015 г., 05:52:12

Практически любой снаряд мог делать математику:

#!/Бен/ш

ИФС=:; сет +Ф
getseconds(){ Эхо "$(( ($1*60+$2)*60+$3 ))"; }

для т в 00:03:34 00:00:35 00:12:34
это сумма=$((сумма + $(getseconds $Т) ))
сделано
функции printf '%з\п' "$сумма"

Использовать getseconds $=т в ЗШ, чтобы получить его, чтобы разделить.

+455
n3v3rth3l3ss 10 янв. 2019 г., 09:30:55

Как я могу создать логи каждый DNS-запрос, что мой компьютер делает вместе с ответы он получает?

+449
neverendingqs 5 июн. 2019 г., 20:20:09

Есть ли возможность отключить монитор сна в Ubuntu 14.04 сервера? Через 10 минут мой монитор переходит в спящий режим. Я уже пробовал несколько вариантов, из https://superuser.com/questions/152347/change-linux-console-screen-blanking-behavior/154388#154388

+446
Mohiuddinkhan Inamdar 17 июл. 2015 г., 22:59:39

Когда я делаю следующее:

тар czvf ../myarchive.tar.gz ./

Я получаю один (раздражает) корне папку в моем архиве таре:

annoying

Как убрать этот ужасный период при создании архива?

+445
Zsott 1 янв. 2011 г., 19:21:38

Нет.

Если сисадмин явно (или наивности) поставить свою контактную информацию нет возможности.

+401
rory 23 окт. 2015 г., 11:07:20

вы назвали набор старого протокола. чашки новые и заменить их. Вы можете комбинировать samab и чашки.samab для sahring принтера.

+267
ZLOYROST 16 июл. 2012 г., 05:49:10

Я хочу посмотреть на вывод команды git статус-С , чтобы определить, существуют ли какие-либо неотслеживаемый файлы в дереве. Я попробовал следующий тест, но регулярное выражение не совпадает. Почему нет?

статус-с $ ЖКТ 
## мастер
 Обновлено-файл м 
?? новый файл
$ [[ $(статус-с ЖКТ) =~ \^?\? ]] || эхо "не ровня"
нет совпадений

Я также хотел бы быть в состоянии проверить, добавленные/измененные/удаленные файлы в таким же образом. Я обычно просто использовать что-то вроде ^\с*[драмов] для этой цели, но это не сработало. Что это дает?

+259
Astudent 1 февр. 2019 г., 15:20:55
  • простой, удобный = как веб-страницу поиск Google, одно поле, одна кнопка, не нужно ничего объяснять, все схватывает идею в 1мс
  • быстро = найти файлы и папки по именам, а не по содержанию (!)
  • мило = следует использовать выходные-пользователей, поэтому иконки для нашли файлы, не повредит

Ближайший проект, который я нашел, Бигль (*), но он теперь мертв (он был отменен в 2009 году). Он сказал, трекер-это замена Бигль, но когда я попробовал GUI интерфейс... короче, катастрофа.

(*) но я не уверен, если отключив в поиске файлов можно.

Я пробовал также вспомните, в поиск программы, Графический интерфейс пользователя имеет слишком много виджетов, для простоты.

Я могу написать такую программу самостоятельно (Ligthppd+PHP-скрипт, вот и все) но прежде чем я начну, может быть, вы знаете про такой инструмент готов к использованию?

Спасибо заранее.

+232
engineer 26 сент. 2018 г., 19:47:58

В ответ ниже, я явно избегая с помощью команды grep. Командная строка-это список отдельных предметов, и оно должно быть проанализировано как таковое, а не как строку текста.


Предполагая, что вы держите обе команды и аргументы команды в одну строку (лучше было бы использовать массив, посмотрим, как мы можем выполнить команду, хранящуюся в переменной?), затем вы можете сделать что-то подобное

процесс='cmd с "некоторые аргументы" и, возможно, имя

комплект -Ф
комплект -- $процесс

если [ "$1" != 'УМК' ]; тогда
 команда echo-это не "ЦМД"'
 выход 1
интернет

сдвиг

для арг делать
 если [ "$арг" = "имя"]; затем
 Эхо 'нашли "имя" аргумент'
выход
интернет
сделано

эхо не найти "имя" аргумент в командной строке
выход 1

Это было сначала отключить именем поколения, потому что мы хотим использовать $процесс без кавычек, чтобы разделить его на отдельные слова, и если эта строка содержит имя подстановка шаблонов (например, *), это испортит наш разбор его. Мы делаем это с установить -Ф.

Затем мы устанавливаем позиционные параметры словам в $процесс. После этого, если "$1" - это УМК, мы знаем, что мы должны искать название в остальной части командной строки. Если нет, то мы остановимся там.

Мы переход от УМК из списка позиционных параметров и начинаете искать аргументы в петлю. В каждой итерации, мы просто сравниваем аргумент в строку имя. Если мы найдем его, мы скажем, так и выход.

В конце цикла, мы знаем, что мы еще не нашли имя аргумента, поэтому мы сообщаем об этом и выходим с ошибкой.

Обратите внимание, что в моем примере выше, аргумент какие-то аргументы будет обработано как две отдельные строки "одни и аргументы", которое является одной из причин, вы никогда не хотите сохранить команду и ее аргументы в одну строку. Это также означает, что он будет обнаружить аргумент имени внутри одного аргумента "имя строки", который будет ложно-положительным.


Если командная строка хранится в массиве (например Баш), то можно сделать это так:

процесс=( УМК "некоторые аргументы" и, возможно, имя )

если [ "${процесс[0]}" != 'УМК' ]; тогда
 команда echo-это не "ЦМД"'
 выход 1
интернет

по ARG в "${процесс[@]:1}"; сделать
 если [ "$арг" = "имя"]; затем
 Эхо 'нашли "имя" аргумент'
выход
интернет
сделано

эхо не найти "имя" аргумент в командной строке
выход 1

Расширение "${процесс[@]:1}" будет весь массив, но не первый пункт (название команды).

Для /Бен/штире, но и баш и любая другая оболочка POSIX), тем выше будет менее многословна:

комплект -- УМК "некоторые аргументы" и, возможно, имя

если [ "$1" != 'УМК' ]; тогда
 команда echo-это не "ЦМД"'
 выход 1
интернет

сдвиг

для арг делать
 если [ "$арг" = "имя"]; затем
 Эхо 'нашли "имя" аргумент'
выход
интернет
сделано

эхо не найти "имя" аргумент в командной строке
выход 1

Это по сути та же первая часть кода, но при правильной обработке все аргументы (цитирование и т. д.) поскольку мы никогда не объединить все элементы командной строки в одну текстовую строку.

+164
hollandlef 11 янв. 2014 г., 14:46:56

В вашем случае в/etc/fstab для записи и предшествующих шагов для своп файла выглядит следующим образом.

ДД, если=/dev/нуль=/тугриков/<идентификатор>/подкачки БС=1М количество=512
команды mkswap /тугриков/<идентификатор>/файл подкачки
команду chmod 600 /тугриков/<идентификатор>/подкачки
Эхо "/шоссе/<идентификатор>/файла подкачки не СВОП по умолчанию 0 0" > > в /etc/fstab строчку

Поэтому запись в файл/etc/fstab и должен выглядеть

каталог /mnt/<идентификатор>/файла подкачки не СВОП по умолчанию 0 0

и должна быть ниже линии, которая монтируется в/MNT/<идентификатор>.

Затем вы сможете активировать его с помощью команды следующим образом.

вызове swapon -а

Что касается вопроса из вашего комментария, установки файл подкачки с UUID создается во время команды mkswap, нет это не возможно. Вы должны указать полный путь к файлу.

+144
Shrikrishna Meena 15 февр. 2011 г., 07:21:23

Итак, мне удалось уйти с обычной старой СЭД , как это.

Общ -1 \
 хранения/{сайте innobase,xtradb}/Парс/{pars0grm.cc,pars0grm.г,pars0lex.л lexyy.cc} \
 хранения/{сайте innobase,xtradb}/ФЦ/{fts0blex.cc,fts0blex.л fts0pars.cc,fts0pars.г,fts0tlex.cc,fts0tlex.л} \
 хранения/сайта innobase/включить/fts0[БТ]Лекс.ч \
 | СЭД -ре 'ч; с|/Парс/|/|; с|/ФТС/|/|; с|сайте innobase/включить|включить|; З; х; с|\н| |' \
 | команды xargs -Л1 СР -в \
;

В СЭД скрипт не так тривиален, поэтому позвольте мне объяснить шаг за шагом (на будущее мне):

  • ч копирует текущую строку ("шаблонов") в реестр ("трюм");
  • каждый с редактирование шаблонов, как обычно, держать пространство не меняется;
  • Ч добавляет в отредактированную строку удерживайте регистр, который заканчивается проведением двух линий, старым именем и новым, с врезанным \п символов;
  • х бирж трюмного помещения с узором пространство, эффективно нагружая старую-новую пару из трюма реестр;
  • с|\н| | объединяет две линии в одну, разделяя их с места;
  • и наконец, неявное п (от вызова СЭД без ) распечатывает результат.

В целом, трубопровод работает следующим образом:

  • Общ -1 расширяет все шарики на имена реально существующих файлов, и выводит одну строку;
  • СЭД получается, что в "$old_filename $new_filename", еще одним-файлом-на линию;
  • команды xargs -Л1 звонки СР -в $old_filename $new_filename на каждой линии.

Вот оно!

+141
randendavis 21 июл. 2015 г., 21:48:20

У вас есть:

WarnSpace=$2
CritSpace=$2

и вы вызываете скрипт, как

./purefs_check.sh -з 50 -с 70 

Таким образом, значение CritSpace составляет 50.

Вы не обрабатываете вариантов вообще. Сделать это вместо:

#!/бин/Баш

ST_OK=0
ST_WR=1
ST_CR=2
ST_UK=3

при команде getopts :Вт:с: опт; делать
 случае $опт в
 ж) WarnSpace=$OPTARG ;;
 с) CritSpace=$OPTARG ;;
 *) Эхо "предупреждение: неизвестный параметр -$опт: игнорируя его" >&2 ;;
эсок
сделано
сдвиг $((OPTIND - 1))

если [[ -Z "на$WarnSpace" ]]; затем
 Эхо "ошибка: задать порог предупреждения с -З" >&2
 выйти $ST_UK
Элиф [[ -Z "на$CritSpace" ]]; затем
 Эхо "ошибка: укажите критического порога с-C" >&2
 выйти $ST_UK
интернет

предупредить=0
критовать=0
пока читала-Р объем пространства, используемого для; сделать
 Пространства, используемого для=${пространства, используемого для//[^[:цифра:]]/} # удалить все не-цифры

 если (( пространства, используемого для >= CritSpace )); тогда
 Эхо "критическая; $объем: всего $пространства, используемого для"
((КРЭТ++))
 Элиф (( пространства, используемого для >= WarnSpace )); тогда
 Эхо "предупреждение; $объем: всего $пространства, используемого для"
((предупредить++))
интернет
сделано < vol_list

((КРЭТ > 0)) && выйти $ST_CR
((предупреждаю > 0)) && выйти $ST_WR
выйти $ST_OK
+106
RusesRapper 24 нояб. 2017 г., 02:12:22

У меня есть кластер высокой доступности (сердцебиение), подключенных через последовательные линии и два Ethernet карт. Я хочу создать скрипт мониторинга, способные распознавать отключенной последовательной линии (по сути тот же вопрос ответил так, однако меня не устраивает такой общий ответ).

Я не могу просто откройте устройство и читать себе данные, поскольку последовательная линия открыта сердцебиение.

Поэтому я начал искать какие-то косвенные улики. Единственное отличие, которое я нашел до сих пор содержимое файла/proc/телетайп/драйвер/серийный. Вот как это выглядит, когда он подключен:

# кот /водитель прок/телетайп//серийный
serinfo:драйвер 1.0:
0: УАПП:порт 16550A:000003F8 прерываний:4 Техас:2722759 ГХ:БРК 2718165:1 РТС|ЦТС|ДТР|ДСР|компакт-диск

И при отключении:

# кот /водитель прок/телетайп//серийный
serinfo:драйвер 1.0:
0: УАПП:порт 16550A:000003F8 прерываний:4 Техас:2725233 ГХ:БРК 2720703:1 РТС|DTR

Я не уверен, достаточно, чтобы решить, что сигналы перечислены в конце линии имеет смысл подключать/отключать кабель, как я не нашел никакой документации на содержание /водитель / тр/телетайп//серийный. Я могу только предположить, что наличие сигнала означает, что дан сигнал на "прямо сейчас" (или был в недавнем прошлом? или?). В серийный инструкция говорит, что дополнительные сигналы, когда подключен кабель (ПТК подача сигнала управления, ДСР "я готов к общению", диск "модем, подключенный к другому") все в "ввод" направление. Так что там должен быть кто-то живой на другом конце.

Предполагая, что значения сигналов, как описано в сериале, Как я могу основывать свое решение на наличии, скажем сигнал CD. Однако я не совсем уверен.

Так вот вопрос: это мой способ "правильный", или Я лучшего варианта я не в курсе?

Редактировать: Я сделал некоторые дополнительные наблюдения и разговаривал с моим коллегой. Оказывается, наличие или отсутствие сигналов в конце линии является неплохим показателем последовательного порта активности, на обоих концах. Однако, это не показатель физического присутствия кабеля. Каждый раз, когда было написание программы для последовательного порта исходящие сигналы присутствовали (РТС|DTR). Когда другая сторона писала поступающие сигналы присутствовали (ТТ|ДСР|компакт-диск). Когда ни одна из сторон не передает никаких сигналов вообще (это не обязательно означает нет кабеля). Не забывайте, что точные сигналы зависят от проводки кабеля (у меня "нуль-модем с частичным квитирование").

+71
bestiosdeveloper 1 нояб. 2019 г., 11:15:18

Я пытаюсь экспортировать некоторые строковые переменные из файла txt.

file.txt

Ошибка ERROR_NOT_SUPPORTED_ARCH_MSG=': неизвестный Аркаим' Ошибка ERROR_NOT_SUPPORTED_OS_V_MSG=': не поддерживается версия ОС'

$ источник file.txt
$ импорт $(распил -Ф 1 file.txt)

и я получаю ошибки, такие как -

экспорт: `арка": недопустимый идентификатор

Так вот вопрос, если это возможно, чтобы экспортировать переменную строку с пробелами? Что такое правильный способ сделать это?

+60
nguyenleccss361 25 окт. 2013 г., 09:39:26

В agetty программа лишь устанавливает срок, не влияют на то, как терминал работает (кроме инициализации соединения). Любая инициализация, которая связана со значением термина будет в вашей оболочке.

Оболочки, в свою очередь, будет проверять терминала базы данных; вы можете обнаружить, что"тупой" или "неизвестных" работает с вашей раковины.

Для дальнейшего чтения:

+42
jegan 16 апр. 2012 г., 12:07:16

Я пишу пару скриптов, чтобы запустить в VLC и периодически обновлять свой плейлист. В update_pls.sh работает хорошо, если я выполнить его из командной строки, но когда я называю его от start_vlc.shв каждом к цикле я получаю это:

./update_pls.sh: 20: ./update_pls.sh: 10#18: не нашли
./update_pls.sh: 20: ./update_pls.sh: 10#18==Диа: не нашли

start_vlc.sh:

#!/бин/Баш
 Эхо "дата"
 Эхо "арранкаров О. в VLC..."
 cvlc --петли --экран --extraintfttp --по HTTP-пароль Кеплер
 ш update_pls.sh

update_pls.sh:

#!/бин/Баш
 /usr/Бен/ОКР > /видео/cron_env.журнал
Реж=/видео
ФАЙЛЫ=$DIR/И*
 Диа=`(дата +%д)`
 Гора=`(дата +%з)`
 Эхо "дата"
 Эхо "реж: $Дир"
 Эхо "да" Фацер " обновить плейлист.в m3u..."
 > $Dir/и воспроизведения.в m3u
 для F в $файлы
делать
 а=`(и basename $Ф .мова | вырезать -б 1-2 | е с/[^0-9]//г')`
 б=`(базовое имя $Ф .мова | вырезать -б 3-4 | е с/[^0-9]//г')`
 если [ -н "$а" ]; затем 
:
еще
а="99"
интернет
 Если (( 10#$а<АСВ)) || ((10#$а==Диа && 10#$б<=гора )); тогда
 Эхе -е "$ф\п" >> $Dir/и плейлист.в m3u
 Эхо "Adicionado о видео $Ф"
интернет
сделано
 Эхо "да" Фацер " загрузить плейлист в VLC пункт о..."
 локон -у ":Кеплер "http://localhost:8080/requests/status.xml?command=pl_empty"
 локон -у ":Кеплер "http://localhost:8080/requests/status.xml?command=in_enqueue&input$
 локон -у ":Кеплер "http://localhost:8080/requests/status.xml?command=pl_play"

Я не могу найти причину этого и ценит любую помощь. Васко

+29
Tincho825 1 дек. 2017 г., 12:47:51
настольные$ СШ-Джей [email protected] -Д 5222 -п 32402 [email protected] в

Кхм вот собственно и все, что нужно.

Если ваши СШ слишком стар для команды, вы можете заменить строку выше с этими двумя командами вместо (в двух терминалах или с вариантами, как -ф -Н поместить на заднем плане ):

настольные$ СШ -л 32402:localhost в:32402 [email protected]
настольные$ СШ-Д 5222 -п 32402 [email protected] в

В вариант-это просто ярлык, чтобы избежать необходимости выполнения первой команды в 2-й старый метод.

+10
horns 11 нояб. 2013 г., 12:29:52

Показать вопросы с тегом

$200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil