Это комнатное растение с цветками, имеющими розовый лепестков и желтым центром, и красноватыми стеблями, это бальзамин?

Возможные команды для генерации контрольной суммы

К сожалению, нет стандартной утилите для создания криптографической контрольной суммы. Есть стандартная утилита для создания КПР: cksum; это может быть достаточно для ваших целей выявления изменений в дружественной среде.

Я бы порекомендовал с помощью SHA1 лучше, чем MD5. Есть не так много систем, которые обладают утилитой MD5 и SHA1, но нет, и если вы собираетесь использовать криптографические контрольные суммы, Вы могли бы также использовать алгоритм с никакого известного метода, чтобы найти столкновения (при условии, что вы также проверить размер).

Один инструмент это не стандарт, но и рассчитать переваривает это в OpenSSL. Он доступен под Cygwin, Debian и OSX, но, к сожалению, не являются частью установки по умолчанию на OSX.

в OpenSSL dgst -SHA1 для

На OSX 10.6, есть shasum утилита, которая также присутствует на Debian (это часть на Perl пакет) и я считаю, что на С Cygwin тоже. Это скрипт на Perl. Большинство систем UNIX установили Perl, поэтому можно расширять этот скрипт вместе с Makefile, если вы беспокоитесь об этом скрипте не везде.

Выбор правильной команды для вашей системы

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

В оболочке

Используйте тип встроенный, чтобы увидеть, если команда доступна.

сумма=
для X в OpenSSL dgst-SHA1 для помощью sha1sum shasum в SHA1''; сделать
 если типа "${Х%% *}" >/dev/нуль 2>/Дев/нуль; тогда сумма=$х; перерыв; интернет
сделано
если [ -з "$сумма" ]; затем Эхо 1>&2 "не удалось найти SHA1 утилита"; выход 2; интернет
$сумма *.орг

GNU делают

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

сумма := $(раковины { команды -в командной-V с помощью sha1sum || команда-в формате SHA1 || shasum; } 2>/dev/нуль)
%.сумма: %
 $(сумма) $< >$@

Портативный (в POSIX) сделать

Вы можете только запускать команды оболочки в правиле, так что каждое правило, которое вычисляет контрольную сумму должна содержать код подстановки. Вы можете поместить фрагмент в переменной. Помните, что отдельные линии в правила проверяются самостоятельно. Также помните, что $ знаки, которые должны быть передан оболочки должны быть экранированы в $$.

determine_sum = \
 сумма=; \
 для X в OpenSSL dgst-SHA1 для помощью sha1sum shasum в SHA1''; у \
 если типа "$${Х%% *}" >/dev/нуль 2>/Дев/нуль; тогда сумма=$$х; перерыв; интернет; \
 сделано; \
 если [ -з "$$сумма" ]; затем Эхо 1>&2 "не удалось найти SHA1 утилита"; выход 2; интернет

контрольные суммы.дат: силу
 $(determine_sum); \
 $$сумме *.орг
+829
Madadbrad1221 19 сент. 2015 г., 11:20:54
25 ответов

Ладно, так что я ждал для Ubuntu 13.04 установить на моем компьютере около часа. Во-первых, он был в бар на вершине и на рабочем столе показано с вращающимся курсором. Сейчас бар исчез, и все у меня крутится курсор. Если это действительно примут этот раз? Я сделал проверку, чтобы установить Flash и все такое, но я не проверял его для обновления.

Правка: По Фигу. Его закончили.

+769
Alexander Kondratskiy 03 февр. '09 в 4:24

В Ubuntu 8.10 и даже 8.04 уже не поддерживается официально.

"После каждой версии Ubuntu уже подошел к концу-время жизни, свои репозитории удаляются от главного сервера Ubuntu и, соответственно, зеркала."

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

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

Кроме того, некоторые другие методы, чтобы выполнить обновление, на обновление сервера Ubuntu с 8.10 до 10.04

+734
Groveh1 17 нояб. 2022 г., 23:26:56
Другие ответы

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


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

Еще одно приложение, которое делает это в более универсальном, пассивный, долгосрочный мода Placeme.

+721
nanuk 31 мая 2019 г., 16:18:17
СЭД -п/идентификатор: 54376/,${ы/[^ 0-9]*//г;/./Р}'

Это будет печатать только цифры и пробелы, возникающие после код: 54376 в любой файл input.

Я только что обновил выше немного, чтобы сделать его немного быстрее С * и не пРинт пустые строки после удаления не-{числовое,пробел} символов.

В нем рассматриваются линии от regex /код: 54376/ ,через $последние и на них с///удаляет все или любой *символы ^не [^ 0-9]* тогда пРИНЦ /любой/ линии .оставшиеся характер.

Демо:

{
линия Эхо 
идентификатор функции printf ': 54376\nno_nums_or_spaces\Н
функции printf '%З @й 0th3r чар@cter$ %\с N' $(сл 10)
идентификатор Эхо ': 54376'
} | сед-Н/ИД 54376/,${ы/[^ 0-9]*//г;/./Р}'

Выход:

54376
1 03 2
3 03 4
5 03 6
7 03 8
9 03 10
54376
+703
Sala 16 мар. 2015 г., 12:05:06

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

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

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

+694
Nicholas Kreidberg 8 окт. 2011 г., 14:06:38

Для типичных приложений для macOS место для такого рода информации является одним из

  • /Система/библиотеки (для ОС конкретные вещи)
  • /Библиотеки (для общесистемной настройки действительны для всех пользователей)
  • ~/Библиотеки (по пользовательские настройки)

и папки под них (например, поддержка приложений и предпочтения).

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

Для приложений и файлы, поступающие из мире Unix вы также найдете типичная точка файлов и каталогов в домашнем каталоге все пользователи, использующие их, например .bashrc и или .СШ/. Имена и назначение этих файлов, как правило, указываются в соответствующей Man-странице.

+644
JOHNNY OCAMPO 21 дек. 2017 г., 17:23:54

Рассматривать не в bash, которые не имеют Баш здесь-строки (<<<"...") или процесс замены (<(...)), а то, что некоторым людям нужно писать скрипты, которые демонстрирует уровень переносимости между системами.

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

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

Чтобы избежать утомительных

использование Эхо':'
Эхо " $0 [-а|-б] файл [файл ...]"
Эхо
параметры Эхо':'

(См. реальный пример того, кем на самом деле делать это, в книге, и попробовать, чтобы отслеживать, какие строки вычисляются, а какие нет. Это не передать мой код комментарий, конечно: https://books.google.com/books?id=0LvYSCi7QsIC&pg=PA201)

Вместо этого можно просто кормить здесь-документ для кота:

кошки <<-END_USAGE
Использование:
 $0 файла [-а|-б] [файл ...]

Варианты:
END_USAGE

Это, кстати, также дает возможность сделать определенное количество документов сценария, интеллектуальный выбор здесь-документ "пятнашки" (END_USAGE, END_FTPи т. д.).

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

Как Баш программист, вы, очевидно, свободно использовать способ в bash, но я думаю, что здесь-документы по-прежнему обеспечивает более рациональный способ отправки заранее отформатированный документ в команду, чем через длинный и бессвязный строку.

Удаление здесь-документы от Баша будет также оказывать Баш бесполезны в качестве кандидата в /бен/Ш на большинстве UNIX-систем, так как это может серьезно подорвать его соответствие стандарту POSIX.

+628
Ilya Kharlamov 5 мар. 2018 г., 13:27:32

Фоновые процессы получают обновленные родительского процесса (на Linux обычно) инит, ПИД - 1.

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

корень является активным до тех пор, как ваша система работает. (корень , как в в суперпользователя.)

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

Многие процессы выполняются под другими учетными записями. Попробовать например:

ПС вход AUX | у awk 'НР>1{печати $1}' | рода -у

Для иллюстрации можно вместо этого использовать другую учетную запись, например testuser.

sleeplong:

#!/Бен/ш
сон 9999

Сохранить и cmod в +Х sleeplong. Работать под testuser:

пользователь@хост testuser $ Су 
testuser@хост $ ./sleeplong &
[1] 9692

Открытый топ с СОИД:

пользователь@хост $ пидов="$(pstree -ЦПСА 9692 | \
СЭД с/ *[^,]*,\([0-9]*\).*/\1/' | ТР '\N' в ',')"; \
топ -з 90 -п ${PID-ы}1

Введите в получить дерево

 ПИД ВРЕМЯ ИСПОЛЬЗОВАНИЯ КОМАНДЫ+ 
 1 корень 0:01.03 инит
Пользователь 19787 95:30.58 `- терминала
 Пользователь 8835 0:00.16 `- Баш
 9634 testuser 0:00.04 `- Су
 9642 testuser 0:00.09 `- Баш
 9692 testuser 0:00.00 `- sleeplong
 9693 testuser 0:00.00 `- сон

Выход:

testuser@хост $ выход

Опять работать верхней рутины:

 ПИД ВРЕМЯ ИСПОЛЬЗОВАНИЯ КОМАНДЫ+ 
 1 корень 0:01.03 инит
 9692 testuser 0:00.00 `- sleeplong
 9693 testuser 0:00.00 `- сон

Вы можете визуализировать это дальше, делать что-то вроде этого:

  1. Развернуть скрипт:

    #!/Бен/ш
    спать 8888 &
    сон 9999
    ecode=$?
    
    е "Прощай\Н"
    
    выйти $ecode
    
  2. Запустить его ./sleeplong2 & (СУ или нет).

  3. Начать топ с таким же обычным, как выше и введите С , чтобы показать аргументы.
  4. В другом терминале:

    убить ННС # где NNN=ПИД сна 8888
    убить ННС # где NNN=ПИД сна 9999
    

Код выхода из последнего убить должна быть 143. Это

128 + 15 = 143

Как убить по умолчанию 15, или прекращается.


Другая вещь, чтобы попробовать может быть, чтобы убить Баша (или подобное) где спать проживаю.


Также не в том, что вы можете сделать, например:

$ Су testuser -с './sleeplong &'

Надеюсь, стало немного понятнее.

+612
esmatdoost 14 окт. 2018 г., 08:27:43

Здесь представлены два случая:

Случай 1: с помощью запрограммированных тренировки кардио на беговой дорожке. Она проходит за полчаса, и начинает медленно. После первых пяти минут бега на 4, 5, 6 км/ч. На следующие 20 минут, он начинает чередовать между 10 и 11 км/ч. Затем в течение 5 минут, она сползает вниз на 5 то на 4 км/ч. К концу тренировки у меня около 4 км.

Так довольно много, я бегу со средней скоростью 8 км/ч.

Случай 2: бег на 8 км/ч в течение 30 мин.

Я спрашиваю это потому, что у меня проблема с поддержанием период переключения между 10 и 11 км/ч. Однако, я могу поддерживать 9 км/ч в течение 10 минут. Я хочу знать, есть ли случай у кого-либо очевидных преимуществ в случае 2. Потому что я бы предпочел делать дело 2.

+543
John Eisbrener 18 июл. 2018 г., 06:03:02

Я недавно установил Debian с 9 на моем HP-15bsxx ноутбук (после установки ElementaryOS 5.0 и не с этой проблемой), и у меня есть эта проблема, где болельщики всегда на (не на полной скорости), хотя:

  • Процессор обычно не работает на любых интенсивных задач. Я бегу в firefox, При и выказывают на скриншоте, на и3+установки polybar. enter image description here
  • Процессора температура обычно между 30-45С. enter image description here
  • Ноутбук чистый внутри.
  • Я бежал fwts и модуля coretemp (его единственный рекомендуемый модуль).
  • У меня ТЛП установлен и запущен.
  • У меня все Интел-микрокода, прошивки-разное-* и прошивка-Линукс-* установленные пакеты (свободных или несвободных)

Эти несколько ноутбук спецификаций, ядро 4.19.0-0.БПО.4-amd64 (о его не 4.19 проблема как у меня была эта проблемы с старых ядрах тоже), это является результатом команду lspci и эти результаты команды dmesg в случае необходимости.

Я знаю, что это распространенная проблема, и Google имеет много ответов, но я попробую их все, и никто не работал для меня.

+541
James Bridgewater 7 янв. 2016 г., 06:39:29

Я в настоящее время использование OneNote для OS X, чтобы делать заметки в колледже.

В настоящее время мне нужно сделать математику, когда с помощью OneNote. Я - то пространство OneNote автоматически превращает это в список, когда я отключить его, то удаляет ' -', который я сделал. Это означает, что я не могу делать то, что хочу. Вот некоторые примеры того, что я имею в виду.

Я хочу сделать

0111
- 0001
------
0001

Однако в OneNote превращает его в подобный список

0111
 - 0001

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

+533
Ruud Siebierski 11 апр. 2013 г., 10:28:38

Я Миго предустановлено на моем нетбуке Samsung N100 и ненавижу его. Может кто-нибудь дать мне шаг за шагом руководство, чтобы перейти на Ubuntu как я полный новичок в этой вещи! спасибо за любую помощь!

+474
Jher 20 нояб. 2021 г., 18:20:03

Возможные Дубликаты:
Как мне установить последнюю стабильную версию LibreOffice?

Когда мы сможем получить офис 3.6.0 Либре в Ubuntu 12.04?

+455
user3323552 25 янв. 2017 г., 06:47:43

я с помощью платы Raspberry Пи 2b.

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

+314
Adagio 27 июн. 2018 г., 23:08:33

Вам нужно будет удалить предыдущую версию, по имени ВЭС-офис. Смотрите ниже, как это сделать.

Тогда вы установите с помощью dpkg:

судо команды dpkg -я ландшафтном-office_9.1.0.4032~a10_i386.деб

Чтобы удалить Kingsoft офис (также называется WPS Управление) вы можете запустить:

суда apt-получить удалить кнопка WPS-офис

или

суда apt-получить удалить ландшафтном-офис

Если вы хотите полностью удалить, включая конфигурационные файлы, выполните:

суда apt-получить продувки кнопка WPS-офис

или

суда apt-получить продувки компанией Kingsoft офис

Имя пакета был изменен с помощью WPS-офис (версия 8.1.0) в ландшафтном-офис (версия 9.1.0).

+304
HarkWhoGoesThere 9 авг. 2013 г., 18:33:48

Подключить принтер к компьютеру с Ubuntu, и она будет работать автоматически

Это потому, что 12.04+ уже установлена последняя версия всех HP для печати и сканирования драйверов в Ubuntu (в hiplip-графический Install hplip-gui пакет). Просто подключите принтер к компьютеру, включите его и готово. Вы можете получить доступ к принтеру, откройте Dash и печатать принтеры.

Кроме того, у меня есть картридж HP C3100 и программы Photosmart C4200 (в C4250 модель на всякий случай) и даже если вы идете на сайт HP, после выбора в меню вашей модели, вы будете встречены с этого:

enter image description here

Который просто означает, что Ubuntu поддерживает ваш принтер из коробки. Нет необходимости устанавливать что-нибудь еще (это не Windows только в случае, если вы думаете, что они работают одинаково в этом плане). Так что это избавит вас и меня много времени, чтобы не волноваться о драйверах. Особенно те огромные, что HP имеет для каждого принтера.

+284
Finlay McAfee 2 сент. 2021 г., 14:31:13

Эта проблема была решена в последней версии Gimp в Gimp 2.8 можно использовать режим одного окна, поэтому больше не исчезают глобального меню.

Установка Gimp 2.8:

Gimp 2.8 можно установить путем добавления PPA для Убунты 12.04. Выполните следующие действия:

  • Перед установкой Gimp 2.8 своя важная для того чтобы удалить старую версию Gimp.
  • Нажмите сочетание клавиш Alt+сочетание клавиш Ctrl+Т , чтобы открыть терминал и выполнить следующие команды:

    судо apt-получить autoremove --Purge с gimp
    
  • Выполните следующие команды, чтобы добавить PPA и установить Gimp 2.8.

    судо дополнения кв-репозиторий PPA:Отто-kesselgulasch/gimp
    судо apt-получить обновление
    судо apt-получить установку gimp
    

Как включить режим одного окна в Gimp 2.8?

Откройте Gimp и Гото окна меню и выберите одно окно режим

Вот оно!

+283
WebMajstr 23 авг. 2011 г., 21:06:19

Строго говоря, большинство визы "продление" на самом деле свежий заявки на новую визу. То есть, существующая виза не продлевается, а отменен (если уже не истек), и новая виза выдается.

Нет ничего, что требует, чтобы вы воспользовались вашей предыдущей визы. Это может вызвать некоторые вопросы, конечно.

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

+241
Yinr 6 окт. 2013 г., 21:43:02

Я очень очень Новой Бие в мире Убунту. Я недавно установил Ubuntu 11.10, и я не мог подключиться к VPN для Windows.

Когда я войти в систему Windows 8 я могу подключиться к VPN с помощью VPN-подключения Windows по умолчанию.

Любая помощь, указатели?

+225
Prasanna R 30 авг. 2016 г., 07:59:34

Есть ли способ, чтобы установить с mencoder на Льва, желательно с помощью доморощенного?

+196
Drefail 3 февр. 2011 г., 04:04:18

Из этой статьи на выставке Macworld.

Копировать/вставить следующее в ~/.файл:

в комплекте -вывода по умолчанию -о nospace -з "$(/usr/Бен/ОКР Руби -не 'ставит $_.сплит(/[,\с]+/)[1..-1].отклонить{|хост| хост.матч(/\*|\?/)} если $_.матч(/^\с*\узел с+/);' < $дома/.по SSH/config файл)" УПП по SFTP через SSH

Вам тогда нужно либо перезагрузить терминал или типа источник ~/.файл (обратите внимание, что последний будет работать только в текущей вкладке).

+123
Matt Staples 5 окт. 2015 г., 23:26:28

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

+71
user256814 27 сент. 2017 г., 08:23:24

Этот ответ является неверным, поскольку я думал, что принтер будет устройство PCI, но я ошибся. Параллельный порт уже есть в системе.

Хотя я не знаю истинную природу этого вопроса, Вы можете надежно вызвать скрипт самостоятельно всякий раз, когда ядро Linux подключает/отключает PCI устройств через udev, то, как описано здесь: (выдержка ниже)

https://www.pcsuggest.com/run-shell-scripts-from-udev-rules

 судо нано /etc/udev из/правил.Д/40-switch_modem.правила
Мое собственное правило выглядит как ниже

 Действия=="добавить", подсистемы=="USB", и буква attr{idVendor}=="1c9e", буква attr{idProduct}=="области f000", запустить+="switch_modem.сервис"

где idVendor и idProduct доступны в вывод результата команд lspci, и исходить от самого оборудования. Подсистемы, в вашем случае не будет USB-кабеля. Возможные значения доступны в udev для документов.

В статье, автор создал скрипт по своему выбору (вы, вероятно, хотите, чтобы отправить строку на принтер, один раз)

Как запустить скрипт из пользовательской правило в udev не работал, мне пришлось создать 
новый сервис systemd для запуска скрипта через него, когда устройство подключено, а 
USB-модем в данном случае.

Пользователь создал служебных файлов systemd обычно хранятся в /etc/systemd в// системы , 
Я назову его switch_modem.услуги

 судо нано /etc/systemd в/системы/switch_modem.услуги

Файл службу systemd,

[Блок]
 Описание=4G модем свитчер

[Услуги]
Тип=импульсный
RemainAfterExit=нет
ExecStart=/usr/местные/Бен/switch_modem

[Установите]
WantedBy=Multi-потребителя.цель

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

Существует также вариант, в udev для того чтобы поставить свой скрипт, который будет вызываться на каждом подключение/отключение любого устройства, где udev, то передать соответствующую информацию в качестве параметров командной строки или среды Варс. Этот вариант более гибкий, является более сложной для реализации.

+51
zzzzzzvika 3 июн. 2018 г., 14:05:51

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

например, я могу успешно подключиться и войти в Мои приложения.

Из командной строки можно запустить:

conRes=$(Эхо -П "\0\Х1\с x01\х0\х0\х0\х0\х0" | сокат из stdio tcp4:127.0.0.1:12345)

а потом проверяем результат ${conRes}

Если я смотрю мое приложение в то время, я вижу доступа, строку подключения, и затем отсоединить.

Однако, как только я положил его в сценарий, он перестает работать.

например

#!/бин/Баш
 conRes=$(Эхо -П "\0\Х1\с x01\х0\х0\х0\х0\х0" | сокат из stdio tcp4:127.0.0.1:12345)
 если [ "${conRes}" != "" ]; затем
 Эхо "conRes успешным: ${conRes}"
еще
 Эхо "conRes искусству"
интернет

Глядя на мое приложение я вижу соединение и разъединение, но нет никаких признаков строку подключения отправкой.

Есть что-то еще мне нужно сделать, чтобы сделать эту работу?

+26
Cantor 30 окт. 2010 г., 00:52:51

Расширение от ссылке я разместил в комментариях...

Эта функция здесь будет оценивать только те Варс вам задать его.

read_config () {файл # read_config.cfg для var_name1 var_name2
#
# Эта функция будет считывать ключ=значение пары из конфигурационный файл.
#
# После вызова 'некий-файл readconfig.cfg для my_var',
# вы можете 'Эхо "$my_var" в свой сценарий.
#
# Оцениваться будут только те ключи, которые вы дать в качестве аргумента функции.
# Это защита против неожиданных элементов в файле.
#
# ссылка: https://stackoverflow.com/a/20815951
#
# Конфиг-файл может выглядеть следующим образом:
#-------------------------------------------------------------------------------
# Это мой конфиг-файл
# ----------------------
# Все, что не ключ=значение пары будут игнорироваться. В том числе этой линии.
# Не используйте комментарии после пару ключ-значение!
# Они будут assigend ключа иначе.
#
singlequotes # = 'поддерживается'
# прямые кавычки = "поддерживаются"
# = но они не являются обязательными
#
# это=работает
#
# # ключ = значение это будет проигнорировано
#
#-------------------------------------------------------------------------------
 shopt -с extglob # необходима "одна из них"-матч ниже
 местные конфигурационный файл="${1?Нет конфигурации файла}"
 местные keylist="${@:2}" # позиционные параметры 2 и следующие

 если [[ ! -Ф "$конфигурационный файл" ]] ; затем
 >&2 Echo "а\"$конфигурационный файл\" - это не файл!"
 выход 1
интернет
 если [[ ! -Р "$конфигурационный файл" ]] ; затем
 >&2 Echo "а\"$конфигурационный файл\" не читается!"
 выход 1
интернет

 keylist="${keylist// /|}" # это будет генерировать регулярное выражение 'один из них'

 # лхс : "левой стороне" : все, что слева от '='
 # РГО : "справа": все, что справа от '='
#
 # "лхс" будет содержать название клавиши, которую вы хотите прочитать.
 # Значение "РГО" будет назначен этой клавише.
 хотя ИФС='= ' читал -Р лхс РГО; делать
 # Если лхс в keylist
 # И РХС не пустой
 если [[ "$лхс" =~ ^($keylist)$ ]] && [[ -N $в РГО ]]; затем
 РГО="${РИТ%\"*}" # - Дель-открытие строки цитаты
 РГО="${РГО#\"*}" # заключительная строка цитирует Дель 
 РГО="${РИТ%\'*}" # - Дель-открытие строки цитаты
 РГО="${РГО#\'*}" # заключительная строка цитирует Дель 
 ивал $лхс=\"$РГО\" # волшебство случается здесь
интернет
 # тр используется в качестве защиты от строки DOS окончаний
 сделал <<< $( тр -д '\р' < $конфигурационный файл )

 shopt -у extglob # переключая его обратно после использования
} # ---------- конец функции read_config ----------

+20
StrategicERP Software 18 окт. 2017 г., 12:19:57

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