Используя Shell ', Е', где в строке формата находится в переменной и не имеет фиксированное количество полей заполнители?

Я пишу функцию Shell, которая делает внешний вызов API через завиток (синтаксис внешнего API не под моим контролем). Я подошла к нему, как это (упрощенный):

#!/Бен/ш

get_entry template_get_entry=':%ы'
и set_entry template_set_entry=':%с=%ы'

curlheaders='-ч материалов'
curluri="https://www.domain.com:1234/api.php"

# сделать вызов API, чтобы сделать запись "фу"
call_api "$template_get_entry" "фу"

# сделать вызов API, чтобы установить запись в "foo" в баре""
call_api "$template_set_entry" "фу" "бар"

call_api() {

 apicmd="$( Е "$1" "$2" "$3" )"
 результат="$( эвал "/usr/местные/Бен/завиток" "$curlheaders" "-д" "$apicmd" "$curluri" )"
retcode="$?"

.....материал.....

}

Есть 2 проблемы с этим кодом.

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

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

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

+739
Franz Steven Labawan 28 июн. 2011 г., 07:43:35
28 ответов

Чтобы добавить РЕПО: добавление, включение и отключение Yum-репозиторий

Для tmux:

с wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
как tar xzvf libevent-2.0.21-stable.tar.gz
компакт-диск libevent-2.0.21-стабильный
./настроить && сделать
установка

затем:

в Git клон git://git-репозитории.код.СФ.объем/п/tmux/tmux-код tmux
компакт-диск tmux
ш autogen.sh
./настроить && сделать
установка

Ссылка: установка tmux на CentOS 6.2

+988
danila707 03 февр. '09 в 4:24

Какой самый лучший способ удалит все код комментарии в данной директории? Я хочу вырезать все // ... Эол комментарии, и /* мля \*/ (или /** ... \*/) комментарии , а также.

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

+957
Taras Budzyn 31 мар. 2015 г., 13:28:26
Другие ответы

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


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

Вы позволили использовать NetworkManager службу systemd?

команду sudo systemctl позволяют использовать NetworkManager
+912
mrahhal 23 мая 2019 г., 19:03:50

Я нашел в ~/.местные/доли/корица/апплеты

Это где апплет многоядерные системы Монитор был сохранен.

+905
jschlichtholz 25 мар. 2019 г., 16:55:07

Как другие прокомментировали, я не верю, что это возможно в runlevel3. Приложение в вопрос в GNOME 2.X называется гном-объем-менеджера. Вы можете настроить его немного, используя гнома-объем-свойства.

скриншот

            ss of gnome-volume-properties

Учитывая, что вы на уровне 3 я не верю, что это вариант. Однако вы могли уговорить в udev сделать монтаж для вас в подобном способе.

1. добавить файл автомонтирование.правила в файл/etc/udev из/правил.д

2. добавьте следующие строки в автомонтирование.правила

автомонтирование.правила

# автомонтирование USB флэш-накопители
значение umask # используется, чтобы позволить каждому пользователю писать на палку
# мы используем --синхронизация для того чтобы физическое удаление установленных карты памяти-это хорошо на жировой основе палочки
# Я не автомонтирование ПДД, поскольку в моей системе это внутренний жесткий диск
# в зависимости от вашей аппаратной конфигурации, USB-карт могут быть другие устройства, чем СДБ*
Действия=="добавить",ядра=="СДБ*", запустить+="/usr/Бен/pmount --синхронизация --значение umask 000 %к"
Действия=="удалить", ядра=="СДБ*", запустить+="/usr/Бен/pumount %к"
Действия=="добавить",ядра=="шарс*", запустить+="/usr/Бен/pmount --синхронизация --значение umask 000 %к"
Действия=="удалить", ядра=="шарс*", запустить+="/usr/Бен/pumount %к"

3. загрузить правила udev:

контроль udevadm --перезагрузка-правила

гомэ-диск-утилиты

Я нашел новое имя гнома-томе-менеджер, кстати. Это называется гном-диск-утилиты в CentOS6, я просто подтвердил, что обороты по умолчанию ням РЕПО.

Этот U&Л Г веди меня к нему: USB-накопители не монтируются автоматически при вставке на установки Debian 6.0.

Выполните следующую команду, чтобы найти его:

$ ням поиск гном-диск-утилиты*
гном-диск-утилиты-девел.i686 в : файлы разработки для GNOME-диск-утилиты-библиотеки
гном-диск-утилиты-девел.архитектуру x86_64 : файлы разработки для GNOME-диск-утилиты-библиотеки
гном-диск-утилиты-уй-девел.i686 в : Разработка файлов для GNOME-диск-утилиты-уй-библиотеки
гном-диск-утилиты-уй-девел.архитектуру x86_64 : разработка файлов для GNOME-диск-утилиты-уй-библиотеки
гном-диск-утилиты.архитектуру x86_64 : приложение Управление дисками 
гном-диск-утилиты-библиотеки.семейства i686 : общая библиотек, используемых Палимпсест
гном-диск-утилиты-библиотеки.архитектуру x86_64 : общая библиотек, используемых Палимпсест
гном-диск-утилиты-уй-библиотеки.семейства i686 : общая библиотек, используемых Палимпсест
гном-диск-утилиты-уй-библиотеки.архитектуру x86_64 : общая библиотек, используемых Палимпсест

Ссылки

+896
kazaaf 13 мар. 2014 г., 03:24:59

Поскольку вы просили на год, ЛС-лак - это легко запомнить, если, как я, вы используете LS-Ла все время. В С дает вам чтимы, который будет отображать в год, если это не текущий год или в час и минуту, если это.

+892
DillonOnline 18 апр. 2010 г., 00:14:55

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

+879
dovid 5 нояб. 2015 г., 10:34:44

В POSIX государства обоснование для А. 4.12 пути разрешения пунктах 9 и 10:

В некоторых сетевых систем строительство /../хоста/ используется для ссылки на корневой каталог другого хозяина, и POSIX.1 разрешает такое поведение.

Другие сетевые системы используют конструкция //имя хоста для той же цели; то есть двойной начальный Слэш используется.

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


Правилам следовать, чтобы удалить какой-либо смысл // в середине пути / начало пути:

... так как не ведущий последовательностей из двух или более <Слэш> символов
рассматриваются как единая <слеш>, ...

Конечно, // начала пути может расширить или изменить использования // в пути (не на старте). В POSIX.1 это позволяет. Это последнее подтверждает, что только // допускается в начале пути.

+875
John Cock 29 мая 2012 г., 04:55:05

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

Я загрузка с Кали 2018.2 с LUKS зашифрованном настойчивость. Я не могу пройти мимо, чтобы не безопасный, Гуй падает каждый раз, когда он пытается инит. Это, кажется, исчезает, когда я загрузиться в простой настойчивости, так что я предполагаю, что это как-то так с шифрование Лукс?

+821
Alan Bishop 22 мар. 2011 г., 00:36:23

Попробуйте отключить мультимедийные клавиши и перезапустить хром:

  1. перейдите к клавиатуре > ярлыки - > звук и мультимедиа;
  2. выберите комбинацию клавиш и нажать клавишу Backspace, чтобы отключить его;
  3. делаем это для ключей массовой информации;
  4. перезапустите Chrome.
+781
salgiza 26 мая 2012 г., 17:59:50

Я пытаюсь получить последний столбец в себя NxN стол, но там отсутствуют нулевые значения. Чтобы добраться до стола, я думаю, я могу просто использовать на awk/xarg, но потребуются недостающие нули? Первые две колонки-это просто идентификаторы в оригинальном формате RAW. В этом случае первый столбец от 1 до 2, вторая колонна идет от 1 до 5 и последнего столбца-это фактические данные, где недостающие нули должны быть вставлены. Идентификаторы всегда такой же длины, как это соответствует строка и столбец. На практике есть фактически 1000-х линий данных, но приведенный выше пример представляет собой уменьшенную пример и будет работать для истинного набора данных.

Редактировать:, чтобы уточнить, на 1000 я имею в виду в первой колонке будет составлять от 1-1000 и второй также будет варьироваться от 1-1000 по. Но линий не хватает, что я хочу добавить с нулевыми значениями в третьем столбце. Однако я думаю, что если это может быть сделано в этом примере ниже, то это может быть сделано для большего файл.

набор данных

1 1 5
1 2 4
1 4 2
2 1 5
2 2 6
2 3 5

Набор данных

1 1 5
1 2 4
1 3 0
1 4 2
1 5 0
2 1 5
2 2 6
2 3 5
2 4 0
2 5 0

Я пытался использовать предложение здесь с помощью Python кредит - heemayl

с тест открытого ('.сумма') как F:
 проверки = 0
 для линии в F:
 если int(линия.сплит()[1]) == Регистрация + 1:
 проверить = инт(линия.сплит()[1])
 линии печати.rstrip()
другое:
 проверить = инт(линия.сплит()[1])
 принт инт(линия.сплит()[1]) - 1, '\т0'
 линии печати.rstrip()
 принт инт(линия.сплит()[1]) + 1, 'т0\'
 принт инт(линия.сплит()[1]) + 2, 'т0\'

Но, похоже, он добавляет ноль между моих строк, где 1 и 2 встреча (в первой колонке) и также я не могу показаться, чтобы заставить его работать на 3 колонки. Кроме этого, awk или каких-либо простыми идеями!

Большое спасибо за любую помощь!

+777
mouscula85 30 мая 2011 г., 03:41:41

как переместить раздел Fedora до загрузочного раздела ext4 и изменить его размер?

Ответ может быть неожиданным: вы не должны этого делать.

Так как вы используете LVM и являются не стремится продлить не-LVM разделы (т. е. /загрузки), вам не придется расширять существующие ПВ. Вместо этого вы можете создать новый раздел из неразмеченного пространства, использовать pvcreate можно сделать из него второе ЛЖ ФВ, тогда vgextend , чтобы добавить его в существующую группу томов.

С LVM, группа томов может состоять из одного ПВ, ПВС и многие, на одном или нескольких дисках; ЛВМ не волнует. Все ПВС в одном ВГ будет действовать как единый пул дискового пространства. Затем вы можете продлить или свободного создания новых ракет-носителей, без необходимости ухаживать, где один ПВ заканчивается и начинается другая. Все это будет осуществляться на транспарентной основе с помощью LVM.

Во-первых, использовать программу GParted или любой инструмент, чтобы сделать это незанятое пространство в полезный раздел. Вы должны установить его тип ("флаги" в программу GParted) как пакет lvm2 ПВ, но, строго говоря, вы не должны. Я предполагаю, что он будет назван как/dev/nvme0n1p7.

Убедитесь, что новый раздел будет виден в файле/proc/перегородок, указывая на то, что ядро приняло новую таблицу разделов. Если этого не произошло, необходимо выполнить partprobe /dev и/nvme0n1 и проверить снова. Если раздел не распознан ядром, возможно, потребуется перезагрузить на данный момент.

Как только раздел станет видимым, вы можете продолжить. Использовать ПВС , чтобы увидеть, если программы GParted уже инициализированный раздел как ФВ ЛЖ, если нет, запустить pvcreate можно в /dev/nvme0n1p7 , чтобы инициализировать его.

Затем, при условии, что ваши группы томов использует имя по умолчанию в Fedora, выполните vgextend Федора /Дев/nvme0n1p7.

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

+753
plop 19 мар. 2016 г., 09:23:40

Может кто-нибудь пожалуйста, скажите как я могу изменять файлы/каталоги, принадлежащие только мне.

ниже находится команда, список файлов/каталогов, принадлежащих мне

 найти . -пользователь <имя пользователя>
+751
Venya 13 июл. 2012 г., 10:04:06

Я в настоящее время работают под управлением Debian 8.1 Jessie, и я рассматриваю обновление до Debian 9 стрейч, так что я могу установить новую версию TeamTalk от www.bearware.dk/.

Я с помощью этой статьи и меняются каждый экземпляр Джей/Jessie В С/стретч, но я получаю эти ошибки.

Вт: не удалось получить http://mirrors.linode.com/stretch/dists/stretch/main/source/Sources 404 не найдена [ИС: 2600:3c01:1::607e:6379 80] 

Е: некоторые индексные файлы не удалось скачать. Они были проигнорированы или старые

Я смог добраться до

 Получаем:16 http://security.debian.org стрейч/обновления/несвободные 
 Перевод-Ан [691 Б] 
 Извлечена 35.9 КБ в 4S (7,377 б/с)

Таким образом, он смог скачать большинство из них от debian.org или сайт security.debian.org .

+749
user42968 26 февр. 2017 г., 16:39:31

На странице с inotify человек:

различные псевдо-файловые системы, такие как /proc, /sys и /dev/pts, не отслеживаются через inotify.

и в/etc/mtab часто просто ссылка на /proc/крепления в эти дни. Вы можете использовать udisksctl монитор , чтобы видеть крепления, или установить свой собственный файл/etc/udev из/правил.д/ править файл, чтобы запустить программу для добавления нового устройства (перед горой), или запустить ДГУ-монитор , чтобы увидеть Маунт события проходят на автобусе. Все немного сложнее.

+731
ferbenzaa 16 янв. 2012 г., 00:56:58

Во-первых, вы должны использовать абсолютный путь для водителя части в соответствии с инструкциями https://github.com/ralfth/pom-merge-driver (который я думаю, является одним вы используете или вилкой его) - значит использовать /usr/bin/mergepom.py %О %О %Б для водителя в вашем случае.

Во-вторых, системы ЖКТ атрибуты файла является, вероятно, должны быть в $Home/.конфиг/ГИТ/атрибуты, как в https://stackoverflow.com/a/28027656

В-третьих-это более философский момент - слияние файлов автоматически с помощью Jenkins-это обычно плохая идея, вы могли бы рассмотреть изменение потока работы, чтобы пользователи слияния и Дженкинс оценки их сливает. Почему ваша работа Дженкинс выполняя сливает (автоматическое слияние веток выпустить в ветку master)? Может или должен пользователь, а не делать это?

+553
TJM 3 авг. 2011 г., 15:13:41

Не тест с РМ, тест с Эхо!

[0-9].тхт - это подстановочный шаблон (также называемый Глоб). Он расширяет список существующих имен файлов. В шаблоне Глоб, вы можете использовать три вида шаблонов:

  • Символ * соответствует любой последовательности символов (включая пустую последовательность).
  • Характер ? соответствует любому одному символу.
  • Кронштейн выражения [...] соответствует любому одному символу, который появляется в квадратных скобках.
    [0-9] - это ярлык для [0123456789]. Вы можете использовать - между двумя символами в скобках означают эти два символа и любых двух персонажей между. Например, строку[0-9a-z_] соответствует цифре или строчной буквы или знака подчеркивания.
    Есть несколько правил, касающихся скобках, что я не буду здесь упоминать.

Повторю, все эти конструкции только существующие файлы. [0-9].тхт не расширяться 5.txt если нет файла с таким именем, больше, чем *.тхт будет расширяться dfiojedfoi.txt если нет файла с таким именем.

Пример:

$ общ.
0.txt 10.txt 1a.txt 9.txt hello.txt world.txt
$ Эхо [0-9].тхт
0.txt 9.txt
$ Эхо [0-9][0-9].тхт
10.txt
$ Эхо [0-9][0-9][0-9].тхт
[0-9][0-9][0-9].тхт
$ Эхо [0-9]?.тхт
1a.txt 10.txt
$ Эхо [10-19].тхт
0.txt 9.txt
$ Эхо *.тхт
0.txt 1a.txt 9.txt 10.txt hello.txt world.txt
$ Эхо *л*
hello.txt world.txt

Эхо [0-9][0-9][0-9].тхт просто повторяет рисунок, потому что нет соответствующего файла. Убедитесь, что вы понимаете, почему [10-19].тхт подобраны просто эти два файла и не 10.txt или 19.txt.

+490
user112551 15 нояб. 2010 г., 03:01:06

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

пользователей все=(всех) из /usr/Бен/ВИМ /и т. д./httpd/confs/файл httpd.конф

Однако, я все еще есть некоторая путаница с этими двумя вариантами.

Ограничить

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

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

Параметром noexec

Функция с параметром noexec известно для работы на SunOS, Solaris и *БСД, Линукс, ИРИКС, Tru64 Unix, а в macOS х, ХП-УБ 11.х и AIX 5.3 и выше.

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

Есть хороший способ проверить, если с параметром noexec хорошо работает или нет? Пытается команд из самых безопасных?

человек страницы: http://www.sudo.ws/sudoers.man.html

+346
Kainqui 10 июл. 2019 г., 17:10:27

На сервере я подключить к моему дому путь такой:/дома/junk1/junk2/пользователей. Могу ли я использовать СЕПГ команду лсов | СЭД -е 'с|^/\([[:alnum:]]*\)/[[:альфа:]]*/[[:альфа:]]*|/\1|' чтобы сократить путь к этому: /главная/пользователя.

На tmux статус бар я могу установить текущим каталог с Набор -г статус-право '#(фрд)'. Однако, поскольку я хочу, чтобы сократить пути, я попытался выше выражение путем установления:

набор -г статус-право "#(дуо | СЭД -е 'с|^/ ([[:alnum:]]*\)/[[:альфа:]]*/[[:альфа:]]*|/\1|')"

Это не сработает. Строка состояния обновляется с некоторой части текста из выражения СЭД. Как я могу это исправить?

+287
dioptre 8 сент. 2011 г., 10:04:46

Я бегу с Lubuntu 10.10 на сервере, который я использую дома. Я продолжаю получать ошибки из репозиториев old-releases.ubuntu.com я должен использовать. Они 401 доступ запрещен ошибки, кто-нибудь когда-нибудь видел этого раньше?

 Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-updates/restricted/binary-i386/Packages.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-updates/universe/binary-i386/Packages.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-updates/multiverse/binary-i386/Packages.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-backports/main/source/Sources.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-backports/restricted/source/Sources.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-backports/universe/source/Sources.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-backports/multiverse/source/Sources.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-backports/main/binary-i386/Packages.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-backports/restricted/binary-i386/Packages.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-backports/universe/binary-i386/Packages.gz 401 несанкционированного 
Вт: не удалось получить http://old-releases.ubuntu.com/ubuntu/dists/maverick-backports/multiverse/binary-i386/Packages.gz 401 несанкционированного 
Е: некоторые индексные файлы не удалось скачать, они были проигнорированы или вместо них используются старые.

Эти последние несколько строк вывода консоли.

+268
martisj 22 окт. 2013 г., 10:13:26

Если я запускаю даты без каких-либо вариантов, я получу что-то вроде этого в качестве вывода:

ВС Мар 31 01:05:19 ЦДТ 2019

Есть в любом случае, чтобы преобразовать то, что я получил бы, если бы я напечатал дата +%с?

+256
Zatoka41 30 июн. 2013 г., 02:56:05

мне нужно установить nginx и отвечать на запросы HTTP и HTTPS, я настроен по умолчанию конф таким образом:

сервера {
 слушать 80;
 слушать 443;
 протокол SSL;
 ssl_certificate /и т. д./nginx/сертификаты/домен-пакет.ЭЛТ;
 ssl_certificate_key /и т. д./nginx/сертификаты/домен.он.ключ;
 имя_сервера статическое.домен.его;
 расположение / {
 try_files $URI в @s3cache;
}

 местонахождение @s3cache{
 proxy_cache S3CACHE;
 proxy_cache_valid 200 48ч;
 proxy_cache_valid 403 60м;
 директива proxy_pass http://static.domain.it.s3-external-3.amazonaws.com;
}
}

Протокол HTTPS работает нормально, но если я пойду на HTTP у меня есть эта ошибка:

400 плохой запрос простой запрос HTTP был отправлен в порт https 
+213
mogeran 19 сент. 2013 г., 05:44:08

У меня есть скрипт, который запрашивает у пользователя ввод данных. Когда я запустить это локально, он делает то, что однако я хочу, я хочу, чтобы запустить его через SSH.

Я пробовал обычные способы я запустить скрипт:

someaccount СШ@somemachine 'mysscript.sh'

someaccount СШ@somemachine 'Баш-ы' < myscript.sh'

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

#!/бин/Баш
# Пример Меню Баш Скрипт 

Эхо -н ", что машина больна ?"
 машина читать 

ПС3='пожалуйста, введите Ваш выбор: '
варианты=("пинг - $автомат" "Вариант 2" "Вариант 3" "Выход")
выбрать выбрать в "${параметры[@]}"
делать
 случае $опт в
 "Пинг - $автомат")
 Эхо "вы выбрали для пинг - $автомат"
 пинг -С1 $машина
;;
 Вариант "2")
 Эхо "вы выбрали выбор 2"
;;
 Вариант "3")
 Эхо "вы выбрали выбор 3"
;;
"Бросить")
перерыв
;;
 *) Эхо неверный вариант;;
эсок
сделано

Спасибо

+149
GHayman 9 мар. 2010 г., 12:36:16

Карманный справочник Linux есть хороший пример о том, как идти по всему аргументов в скрипте

для ARG в [email protected]
делать
 Эхо "я нашел аргумент $арг"
сделано

Я пишу скрипт, в котором все аргументы будут текстовые файлы, и мне будет объединять всех этих текстовых файлов и печати их на stdout, но я должен исключить содержание первого аргумента. Мой первый подход будет что-то подобное

для ARG в [email protected]
делать
 кошки "$арг"

сделано

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

+109
Snerps 5 нояб. 2016 г., 11:56:40

Работы с GNU bash, начиная с версии 4.3.11(1)-релиз (x86_64 с-ПК-Линукс-гну).

Я не совсем понимаю процесс замещения (ProcSub) с точки зрения пользователей, заинтересованных в поднятии капота на обработку ввода-вывода и связанные проблемы со скоростью. Я использую ProcSub в сценарии, поэтому у меня есть некоторые знания дескрипторов файлов 0,1,2, но это довольно много его. Я читал несколько довольно хорошие посты, например, [1], и смешанная. Вики, например, [2],[3], последний заявил: "процесс замещения для вывода (ФД 1 и/или 2) процесс (или процессы) в поток ввода (ФД 0) другого процесса". К тому простейших определений и только для одного процесса, кажется, функционально ничем не отличается от простого безымянного трубы.

Чтобы разобраться в том, что я начал с тройника, сам по себе интересен с точки зрения ввода-вывода.
тройник разрешений на кормление "stdin в stdout, а также любые файлы, заданного в качестве аргумента". Так :

$ я в 1 2 3; делать (( К=Я+10 )); функции printf "%д\н" есть $J > file_$я; сделано
# так что каждый файл в file_{1,2,3} содержит цифры в его названии + 10.
$ кот file_{1,2,3} | тройник file_4
11
12
13
$ кот file_4
11
12
13

Очевидно, я не заинтересованы в том, чтобы заполнять данные моей матрицы экрана аля, когда:

1) я добавляю труб и перенаправления shasumс Выход ...

$ кот file_{1,2,3} | тройник file_4 | shasum -это 256 > file_4.и SHA256
$ 

в один лайнер выше выходит спокойно, file_4 как и раньше (выше) и file_4.SHA256 и содержит вычисляемые и SHA256 сумму.

Выше-это просто пример, чтобы проиллюстрировать мой вопрос, пытаясь понять промежуточными ввода/вывода. Мой обывателя вывод о том, что тройник спасает выход кота cmd в file_4 и его копия, как правило, направляется в stdout фактически не направляется в stdout, но передается в shasum.
Вопрос: это даже отдаленно верно ?

2) я попробовать то же самое с ProcSub:

$ кот file_{1,2,3} | тройник file_4 >(shasum -это 256 > file_4.и SHA256)
11
12
13
$ 

-> Нет вывода, перенаправление, что направляются в ФД 1 с помощью тройника ?

Вопрос: мне не понятно на каком ProcSub делает или не делает ввода/вывода (очевидно, это никак не повлияет ввода/вывода в данном случае) и может использовать объяснение его механизма.

3) я стараюсь с ProcSub и перенаправления окончательного вывода в file_4:

$ кот file_{1,2,3} | тройник >(shasum -это 256 > file_4.и SHA256) > file_4
$ 

В этот раз ОДН-vkladyw спокойно существует.

Вопрос: Итак, общий вопрос: как ввода/вывода обрабатывается в 3 случаях (или, по крайней мере для второго и третьего) ? Есть очевидные и видимые отличия ввода/вывода и условия (просто глядя на конечного вывода), но иногда различные процессы могут привести к одинаковым конечным результатам на дисплее. Техас.

+89
mczepiel 10 нояб. 2018 г., 13:37:04

Самый простой и доступный в большинстве оболочек POSIX является:

из $ VAR='SomeText.MoreText.Что угодно.1.2.3.4-филиал.доб'

$ Эхо "${вар#"${вар%%[0-9]*}"}"
1.2.3.4-филиал.доб

Таким образом нет необходимости вызвать любую внешнюю утилиту (выражение, СЭД, как awk и т. д.) и времени счет, чтобы позвонить из таких утилит является также избегать (для коротких строк, таких как в этом случае, для длинных строк (10-х к') раковина очень медленно).

+58
tempos 26 янв. 2019 г., 02:18:38

укажите порт Telnet с телнет 10.49.46.2 24.

По компании cognex ручной камерой, "поставляя номер порта, отключение проверки подлинности имя пользователя в Unix/пароль и сил Unix-системы с запросом имени пользователя и пароля".

+52
Eldhie Ann Rosales 2 мар. 2013 г., 07:01:38

Я пробовал разные версии Ксен, результаты похожи: ВГА-транзит не работает. Я могу начать дому в режиме аппаратной виртуализации и подключиться с помощью VNC, но я не могу заставить его работать на моем ГПУ

Я добавить ID-карт в /etc/пакет initramfs-сервис/модули: на Xen-pciback сквозной=1 скрыть=(01:00.0)(01:00.1)

Они перечислены XL с интерфейсом PCI-переуступке-список

0000:01:00.0
0000:01:00.1

После того, как я запустить domU (в данном случае Windows) они не отображаются. В лог-файл, я получаю следующее, которые не помогли мне:

устройство Чаре перенаправлены в /dev/ПЦ/2 (метки serial0)
[00:04.0] xen_pt_initfn: ошибка: привязка прерываний 0 не удалось! (код: -1)
[00:05.0] xen_pt_initfn: ошибка: привязка прерываний 1 не удалось! (код: -1)
[00:04.0] xen_pt_region_update: ошибка: создать новое сопоставление мэм не удалось! (код: -1)
[00:04.0] xen_pt_region_update: ошибка: создать новое сопоставление мэм не удалось! (код: -1)
[00:05.0] xen_pt_region_update: ошибка: создать новое сопоставление мэм не удалось! (код: -1)
[00:04.0] xen_pt_region_update: ошибка: создать новое сопоставление ioport не удалось! (код: -1)

Мой конфигурационный файл выглядит примерно так:

построитель='аппаратной виртуализации'
памяти = 4096
имя = 'отрава'
ЦП=2
ПЭ=1
с ACPI=1
апик=1
выключение on_xend_stop=''
Виф = [ 'с Mac=00:16:3Э:68:ба:2е,тип=Виф моста=xenbr0' ]
диск = [ '/Дев/рейд/Бэйн,сырье,xvda,РАО' , '/mnt/iso/win/7/dvd.iso,сырье,гдх,devtype=с cdrom' ]
device_model_version = 'в QEMU-Ксен'
загрузки='Колумбия'
СДЛ=0
в VNC=1
#vncpasswd команды="
серийный='Пти'
#tsc_mode=0
виридийский=1
кабель USB=1
таблетки usbdevice=''
gfx_passthru=0
шины PCI=[ '01:00.0', '01:00.1' ]
местное время=1
xen_platform_pci=1
pci_power_mgmt=1

Я использую Debian Джесси/Сид с Xen-4.5 от экспериментальных. Атлас для Linux 3.16.0-4-amd64 в #1 СМП в Debian 3.16.7-ckt7-1 (2015-03-01) архитектуру x86_64 GNU/Линукс

Я хотел бы сделать с VGA-passtrough работать, и я думаю, что ошибки в файл журнала, но я не уверен.

+48
skiv52ru 20 февр. 2014 г., 09:43:43

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