Как просмотреть файл с записью sudoer от гостевого счета?

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

+76
jeneeck 1 янв. 2020 г., 10:26:48
38 ответов

Если вы не возражаете, используя комбинацию на awk и grep.

на awk -Ф"," ' { 
 если ( 2 $!= "" && $4 ~ /[[:цифра:]]{4}(-[[:цифра:]]{2}){2} [[:цифра:]]{2}(:[[:цифра:]]{2}){2}/ ) печать
} ' <файл> | грэп '.*,.*,.*,.*,.*,.*,.*'

Редактировать: чисто на awk альтернативы. Спасибо @Archemar за объяснение.

на awk -Ф"," ' {
 если ( НФ == 7 && $2 != "" && $4 ~ /[[:цифра:]]{4}(-[[:цифра:]]{2}){2} [[:цифра:]]{2}(:[[:цифра:]]{2}){2}/ ) печать
} ' <файл>
+961
user8881706 03 февр. '09 в 4:24

Альтернативные (полевых) на Perl подхода .= оператор конкатенации строк:

на Perl -е/ -ЗГО '$_ .= "$Ф[1]/$Ф[2]" Если $Ф[7]' dfs_data_dir_mount.Хист
+950
abhayendra kumar sinha 4 апр. 2019 г., 00:33:48
Другие ответы

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


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

У меня проблемы с неожиданных персонажей отправляются на порт USB С драйвер cdc_acm. Что делает это все более запутанной является то, что код прекрасно работает на Ubuntu 12.04 (ядро 3.2), но не (в теме этого вопроса) на CentOS 6 (ядро 3.6).

Устройство USB-это BLED112 Bluegiga Bluetooth смарт-ключ. Его встроенный микроконтроллер будет сброшен в любое время есть в неожиданном входе на интерфейс интерфейс USB.

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

Для устранения неполадок, вот что я сделал:

  • Загрузить исходный код для драйвер cdc_acm. Добавили кучу printk отладочные сообщения и stack_dumps следовать тому, что происходит.
  • Я rmmod бы "запас" cdc_acm и insmod бы мой модуль инструментированы. Все перечисление устройство работает, драйвер прилагается, и т. д.
  • Так как код работает на Ubuntu 12.04/Linux в 3.2, я схватил 3.2 код и скомпилированный модуль cdc_acm, что на ОС CentOS 6 платформа / ОС Linux 3.6. Используя этот модуль 3.2 вместо модуля 3.6 не изменит. Я вернулся к модулю 3.6.
  • Включил файловой системы отладки с usbmon и смотрел USB трафика. Я вижу, что есть дополнительные символы, отправляемые по интерфейсу USB.
  • Чтобы посмотреть, что происходит, на вершине printk в модуль cdc_acm, я слил выход USB-пн (кошка /системы/ядра/отладки/USB кабель/usbmon/3У | регистратор) и выходного тестового приложения (scan_example как /dev/ttyACM0 | регистратор -ы) у меня один поток, коррелированный по времени отладки след.
  • Нечистоплотные персонажи отправляются на USB конечных точек x5E х40 х40 х40 x5E x5E x5E отыгрыш: X40 x41 (в ASCII его ^@^@^@^@A), которое похоже на какой-то проверки или пытается привлечь внимание модем эти герои отправляются сразу после приложения записать() вызывает 4 Здравствуйте байт для отправки в конечную точку.
  • Поскольку cdc_acm устройства должен быть модем, я пытался отключить управление модемом, добавив в usb_device_id acm_ids[] в cdc_acm.с

    /* bluegiga BLED112*/
    { USB_DEVICE(0x2458, 0х0001),
    .driver_info = NOT_A_MODEM,
    },
    
  • Пересобрал и insmod бы и лога показывают, что это было признано (закидоны есть 8), но никаких изменений в функции.

Ни NetowrkManager, ни модем-менеджер работает, но я еще подозреваю, что есть какая-то функция управления модемом происходит где-то, я просто не знаю, где.

Вот аннотированный журнала отладки (МДВ префиксы тех printk, что я добавил к cdc_acm)

13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_bulk
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_done

Здесь представлены 4 байт, отправленных приложением 00 00 00 01

13 февраля 18:14:32 localhost в cpcenter: df046a80 3672670191 с Би:3:006:4 0 4 = 00000001
13 февраля 18:14:32 localhost в cpcenter: 1360797272.669690 писать: данных2: лен=0 содержит:

... и эти дополнительные персонажи появляются неожиданно 5Э 5Э 5Э 40 40 40....

13 февраля 18:14:32 localhost в cpcenter: df046a80 3672670232 с Би:3:006:4 -115 128 <
13 февраля 18:14:32 localhost в cpcenter: 3672670297 f3cc5740 с БО:3:006:4 -115 1 = 5Э
13 февраля 18:14:32 localhost в cpcenter: 3672670332 df2e1300 с БО:3:006:4 -115 1 = 40
13 18:14:32 localhost в cpcenter: 3672670347 f3cc5740 с БО:3:006:4 0 1 февраля >
13 февраля 18:14:32 localhost в cpcenter: 3672670392 f3cc5740 с БО:3:006:4 -115 1 = 5Э
13 февраля 18:14:32 localhost в cpcenter: 3672670426 df2e1180 с БО:3:006:4 -115 1 = 40
13 февраля 18:14:32 localhost в cpcenter: 3672670461 df2e1c00 с БО:3:006:4 -115 1 = 5Э
13 февраля 18:14:32 localhost в cpcenter: 3672670496 df2e1840 с БО:3:006:4 -115 1 = 40
13 18:14:32 localhost в cpcenter: 3672670591 df2e1300 с БО:3:006:4 0 1 февраля >

В этот момент мы получаем спонтанное отключение.

13 февраля 18:14:32 ядра адресу localhost: порт USB 3-1: USB-отключения, устройства номер 6
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_bulk
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_done
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ read_bulk_callback
13 февраля 18:14:32 ядра на localhost: МДВ 1 acm_read_bulk_callback - УРБ 1, лен 0
13 февраля 18:14:32 ядра на localhost: МДВ 3 acm_read_bulk_callback - ненулевой УРБ статус: -71
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_bulk
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_done
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ read_bulk_callback
13 февраля 18:14:32 ядра на localhost: МДВ 1 acm_read_bulk_callback - УРБ 1, лен 0
13 февраля 18:14:32 ядра на localhost: МДВ 3 acm_read_bulk_callback - ненулевой УРБ статус: -71
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_bulk
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_done
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ read_bulk_callback
13 февраля 18:14:32 ядра на localhost: МДВ 1 acm_read_bulk_callback - УРБ 2, лен 0
13 февраля 18:14:32 localhost в cpcenter: 3672670629 df2e1d80 с БО:3:006:4 -115 1 = 5Э
13 февраля 18:14:32 ядра на localhost: МДВ 3 acm_read_bulk_callback - ненулевой УРБ статус: -71
13 февраля 18:14:32 localhost в cpcenter: 3672670677 df2e1300 с БО:3:006:4 -115 1 = 41
13 18:14:32 localhost в cpcenter: 3672670802 f3cc5740 с БО:3:006:4 0 1 февраля >
13 18:14:32 localhost в cpcenter: 3672671019 df2e1180 с БО:3:006:4 0 1 февраля >
13 18:14:32 localhost в cpcenter: 3672671237 df2e1c00 с БО:3:006:4 0 1 февраля >
13 февраля 18:14:32 localhost в cpcenter: dfbf8c00 3672673193 с второй:3:001:1 0:2048 1 = 02
13 февраля 18:14:32 localhost в cpcenter: dfbf8c00 3672673207 Ы II:3:001:1 -115:2048 4 <
13 февраля 18:14:32 localhost в cpcenter: f3c26c00 3672673221 с Ди:3:001:0 с А3 00 0000 0001 0004 4 <
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_disconnect
13 фев 18:14:32 ядра адресу localhost: пид: 29, сообщений: khubd душком: Г О 3.5.3-1.el6.elrepo.семейства i686 #1

Стек трассировки в момент отключения

13 февраля 18:14:32 ядра адресу localhost: тросса:
13 февраля 18:14:32 ядра адресу localhost: [<f82dabc5>] acm_disconnect+0x35/0x1f0 [cdc_acm]
13 фев 18:14:32 ядра адресу localhost: [<c13835db>] usb_unbind_interface+0x4b/0x180
13 февраля 18:14:32 localhost в cpcenter: f3c26c00 3672673239 с Ки:3:001:0 0 4 = 00010100
13 февраля 18:14:32 ядра адресу localhost: [<c1318bfb>] __драйвер_выпуска_+0x5b/0xb0
13 февраля 18:14:32 ядра адресу localhost: [<c1318d05>] device_release_driver+0х25/на 0x40
13 фев 18:14:32 ядра адресу localhost: [<c1317f0c>] bus_remove_device+0xcc/0x130
13 февраля 18:14:32 ядра на localhost: [<c131612f>] ? device_remove_attrs+с 0x2f/0x90
13 фев 18:14:32 ядра адресу localhost: [<c1316275>] device_del+0xe5/0x180
13 февраля 18:14:32 ядра адресу localhost: [<c1380326>] usb_disable_device+0x96/0x240 февраля 13 18:14:32 ядра на localhost: [<c1379f91>] usb_disconnect+0x91/0x130
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_bulk
13 февраля 18:14:32 ядра адресу localhost: [<c137a2c0>] hub_port_connect_change+0xb0/0xa60
13 февраля 18:14:32 ядра на localhost: [<c1380f4e>] ? usb_control_msg+0xce/от 0xe0
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ acm_write_done
13 фев 18:14:32 ядра адресу localhost: [<c137b296>] hub_events+0x536/0x810
13 февраля 18:14:32 localhost в cpcenter: f3c26c00 3672673243 с Ко:3:001:0 с 23 01 0010 0001 0000 0
13 фев 18:14:32 localhost в cpcenter: f3c26c00 3672673250 с Ко:3:001:0 0 0
13 февраля 18:14:32 ядра на localhost: [<c1065bdf>] ? finish_wait+0x4f/0x70
13 февраля 18:14:32 ядра адресу localhost: [<c137b5aa>] hub_thread+0x3a/0x1d0
13 фев 18:14:32 localhost в cpcenter: 3672673260 df2e1840 с БО:3:006:4 -71 0
13 февраля 18:14:32 ядра на localhost: [<c1065a70>] ? wake_up_bit+0x30/0x30
13 февраля 18:14:32 ядра на localhost: [<c137b570>] ? hub_events+0x810/0x810
13 фев 18:14:32 ядра адресу localhost: [<c106564c>] kthread+0x7c/0x90
13 февраля 18:14:32 localhost в cpcenter: f3c16c80 3672673292 с Би:3:006:4 -71 0
13 фев 18:14:32 localhost в cpcenter: 3672673453 df2e1d80 с БО:3:006:4 -71 0
13 февраля 18:14:32 localhost в cpcenter: f3c16d40 3672673553 с Би:3:006:4 -71 0
13 февраля 18:14:32 ядра на localhost: [<c10655d0>] ? kthread_freezable_should_stop+0x60/0x60
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ read_bulk_callback
13 февраля 18:14:32 ядра адресу localhost: [<c14dedbe>] kernel_thread_helper+0х6/0х10
13 февраля 18:14:32 ядра на localhost: МДВ 1 acm_read_bulk_callback - УРБ 3, лен 0
13 февраля 18:14:32 ядра на localhost: МДВ:КДК-ОКМ stop_data_traffic
13 февраля 18:14:32 localhost в cpcenter: f3d19500 3672674474 с второй:3:006:2 -108:64 0
13 фев 18:14:32 ядра на localhost: МДВ 2 acm_read_bulk_callback - отключен
13 фев 18:14:32 localhost в cpcenter: 3672674636 df2e1300 с БО:3:006:4 -71 0
13 февраля 18:14:32 localhost в cpcenter: f3c16140 3672674753 с Би:3:006:4 -71 0
+942
Anadri Moonwhisper 17 окт. 2014 г., 10:54:10

Я этот PHP-скрипт (encrypt.php)

<?в PHP
 функции шифрования($pure_string, $encryption_key, $encryptionMethod = "шифрование AES-256-CBC с")
{
 $ИЖ = "3571984260";
 $encrypted_string = openssl_encrypt($pure_string, $encryptionMethod, $encryption_key, ложным, $Ив);
 возврат $encrypted_string;
}

 Эхо шифрования ("$массива argv[1]", 'mysecret выступает');
?>

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

Но вот это:

Эхо '12345' | энк в OpenSSL-шифрования AES-256-CBC с -ИЖ "3571984260" -к mysecret выступает -а

Не производить такие же результаты, как:

в PHP encrypt.php 12345

На самом деле версия оболочки изменяют созданную строку для каждого исполнения, и версия PHP генерирует тот же всегда. Мне нужно получить такой же результат, как PHP-скрипт, с помощью OpenSSL Кинк.

Что я делаю не так?

+907
Taylor McCaslin 20 окт. 2011 г., 14:05:29

Ты был близок к решению:

найти /медиа/д/ -тип F -размер +50М -и ! -имя "*Деб" -и ! -имя "*файл VMDK"

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

-а-а - оператора и
-О-или - оператора или
! - оператор не
+895
Angelis Iglesias MS PCC 8 дек. 2011 г., 06:24:02

Вы можете добавить тест на абсолютный путь:

каталог читать 
[ "${КАТАЛОГ:0:1}" = "/" ] || КАТАЛОГ="$СПРАВОЧНИК ИНВАЛИДОВ/$"
Эхо "$"каталог
+892
smarcantonio 5 янв. 2017 г., 15:07:09

Я хотел бы запустить удаленный с OpenGL программу через SSH и туннелирование с вариант.

Мой ноутбук Оптимус так что с помощью OpenGL должен пройти и optirun (Шмель). Это могло бы объяснить, почему я не могу запустить программу (ВМД в моем случае, он говорит не может открыть OpenGL для комплектации GLX).

Есть ли способ обойти?

+845
anxiousprospetive 12 июн. 2014 г., 00:00:10

У меня есть виртуальная машина в KVM "machine01" у меня хранение на ней /данные/соп1/Вирт/Вирт.формат qcow2 и не используется /данные/соп1/Вирт/virt2.формат qcow2

Я хочу изменить через командную строку на моего руководителя от /данные/соп1/Вирт/Вирт.формат qcow2 для /данных/соп1/Вирт/virt2.qcow2 с моей осуществляет диска исходный путь. Это возможно?

+806
Raquel dias 23 янв. 2011 г., 01:16:06

По данным /usr/share/doc/hashdeep/README.md.gzэто всего один исполняемый файл, который действует по-разному в зависимости от имя вызываемой программы. Если программа называется md5deep, он действует как md5deep.

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

Выполните следующие действия (как root / судо / чего угодно): в /usr/Бен/hashdeep /usr/местные/Бен/md5deep

+774
Cong Trinh 19 мая 2013 г., 19:02:36

Я не могу быть уверен в OSX, но на FreeBSD можно использовать:

ПВ Добавить пользователя mymuser -г команды mygroup -с /несуществующий -Н

стоимость - переданный опция указывает PW как установить пароль в поле мастер.passwd к *, тем самым создавая без входа в учетную запись. Установка раковины не является строго обязательным, но позволяет избежать проверки оболочке из /etc/ПМ.конф.

+757
Vincent Saluzzo 11 дек. 2015 г., 11:53:47

Прежде чем я могу подключиться к конкретной удаленной машине, я должен выполнить определенные местные команды. Поэтому вместо того, чтобы СШ [email protected] мне нужно сделать

local_command
СШ [email protected]

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

Я знаю, что я могу добиться этого на Shell уровне, создавая мои собственные СШ скрипт, который вызывает /usr/Бен/СШ, но я могу сделать это с помощью ProxyCommand вариант файле sshd_config?

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

Хост удаленного.машина
 ProxyCommand local_command; СШ [email protected]

в моем ~/.по SSH/config в файле, но не именно этот курс, потому что он круглый!

+740
Haruka Akino 24 мар. 2019 г., 08:49:28

Вы можете установить завиток не root с помощью префикса, где у вас есть разрешения на запись.

Скачать источники завиток, разархивируйте и перейдите в извлеченный каталог. Тогда

./настроить --префикс=$дома/ЕГР
сделать
сделать установить

и добавить это к тебе ~/.профиль:

Путь="домашняя$/УСР/бин:$путь"
путь экспорта
Переменная LD_LIBRARY_PATH="$дома/УСР/Либ:$переменная LD_LIBRARY_PATH"
экспорт переменной LD_LIBRARY_PATH
PKG_CONFIG_PATH="$дома/УСР/Либ/pkgconfig:PKG_CONFIG_PATH"
экспорт PKG_CONFIG_PATH
Окружения manpath=$дома/usr/доли/человек:$содержат
экспорт содержат

Внимание, после установки такого файла$Home/usr и в ваш ~/.профиль как только вы легко сможете установить большинство других пакетов, чтобы этот префикс тоже.

+731
Aaron 27788716857 11 дек. 2010 г., 10:20:37

Вы можете использовать найти для этого:

найти / -тип D -Группа веб -экзек чмод г+ГХ {} +

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

+714
wrangler 17 янв. 2013 г., 21:12:13

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

+691
user43886 27 июл. 2016 г., 21:26:54

вы можете anaylse немного вернулся НТМ вашей целевой страницы и немного поиграть с bash утилиты. Это должно работать:

для меня в $(завиток https://sourceforge.net/projects/geoserver/files/GeoServer/2.10.1/extensions/ | грэп продажи.СФ.файлы | на awk -F " и=" '{печати $2}' | jq не '.[].full_path' | на awk -Ф '"' '{функции printf("https://sourceforge.net/projects/geoserver/files/%s\n",$2)}') ; не виться -о $(Эхо $я | на awk -е '/' '{печати $НФ}') -Л ${Я} ; сделано
+673
boar 14 мар. 2018 г., 15:39:38

на самом деле, это можно сделать только стандартный Unix командной строки:

Баш $ Эхо { \"сведения\": [ $(ПС axho комми что-то вроде -РСС | начальник -5 | команды xargs -Л1 -я% Эхо { \"{#PROCNAME}\": \"%\" } | паста -ы -д -) ] }
{ "данные": [ { "{#PROCNAME}": "узел" },{ "{#PROCNAME}": "команду mongod" },{ "{#PROCNAME}": "kubelet" },{ "{#PROCNAME}": "dockerd" },{ "{#PROCNAME}": "добавлена журнала" } ] }
Баш $ 
  • в результате выход-это допустимый JSON.
+667
consoni 8 дек. 2012 г., 04:32:29

Вы можете использовать любую непустую последовательность символов, кроме символа новой строки в качестве разделителя. В POSIX не состояние каких-либо ограничений. Вы можете задать символ разделителя, но тогда он никогда не будет найден. Многие снаряды поддерживают пустые разделители, но АТТ KSH не. На самом деле большинство снарядов принимать произвольные последовательности байтов, отличные от null и строку, но я не рекомендую использовать недопустимую последовательность байтов. Я также рекомендую не использовать символы возврата каретки, как это могут сделать перекодироваться когда скрипт редактируется или перенесен на другую машину. Пробельный также прональны К быть случайно удалены во время издания. Придерживаясь набора ASCII безопаснее.

Конечно, если delimuter включает в себя символ, который имеет специальное значение в Shell синтаксис, вам необходимо процитировать его после << оператора, и тогда можно использовать только буквальный здесь-документ, а не здесь-документ с переменной и подстановки команды.

+645
lolifi chy 29 июл. 2017 г., 09:55:20

Открыть Инсталяционный DVD диск. Откройте "дополнительные папки". Вы найдете несколько файлов slackbuild, в том числе флэш-плеер и Гугл Хром.

Для Chrome, читайте ридми файлы в своей папке.

Для Flash, выполните файл slackbuild на его папку. Она будет автоматически загружать и строить .txz файлы в /tmp.

Теперь, установить файлы, используя:

помощью installpkg /tmp/и в-Flash-плеер-пакет.txz
+636
fipple 13 сент. 2014 г., 20:02:40

Значения отображаются в миллисекундах; они же проследили в наносекундах, и уменьшенная на один миллион (см. ядра/вре/отладки.с). Так

ЮВ.статистика.iowait_sum : 12593.039209

означает процесс, Потратив всего за 12,5 секунд в ожидание ввода-вывода.

+619
Jhean Neri 1 нояб. 2017 г., 17:21:23

СЭД подмена выглядит для экземплярах (все экземпляры, поскольку вы используете г) сопоставление первого параметра, и заменяет в случае полного совпадения со вторым аргументом. Так что, если вы включаете “воздух” в первый аргумент, он будет заменен — нужно включить его в качестве второго аргумента, если вы хотите сохранить ее. Когда СЭД жалуется на недопустимую ссылку, это означает, что вы не определили соответствующую группу в первый аргумент (используя \( и \), или ( и ) поскольку вы указали ).

Так как вы ищете “воздух”, а затем любые символы следуют цифры, я бы предложил следующее:

СЭД -р с/воздуха([^[:цифра:]]*)([[:цифра:]]+).\файлы jpg/AIRtest 2.формат JPG/г'

Это заменяет “воздух” с “воздухом”, любые номера-цифры с “тест”, и держит все цифры в дальнейшем. Если вам не нужно обрабатывать символы между “небом” и цифры, вы можете их игнорировать:

СЭД -Р С/воздух[^[:цифра:]]*([[:цифра:]]+).\в JPG/AIRtest 1.формат JPG/г'

Если у вас есть в Perl переименовать, вы можете перенести это, чтобы переименовать файлы:

переименовать 'з/воздух[^[:цифра:]]*([[:цифра:]]+).\в JPG/AIRtest 1.воздуха в JPG/г'*.формат JPG

или

переименовать 'з/воздух[^[:цифра:]]*([[:цифра:]]+).формат JPG/AIRtest 1$.воздуха в JPG/г'*.формат JPG

(переименовать предпочитает $ для ссылки на группы).

+606
derrasterpunkt 30 авг. 2011 г., 04:11:39

У меня двух компьютеров Dell компьютер OptiPlex 960 подключены к одному коммутатору. Оба в CentOS 7 с минимальными затратами на монтаж. ИПС 192.168.8.51/24 (МАК 00:26:В9:86:85:13) и 192.168.8.52/24 (МАК 00:26:В9:86:84:5Ф)

Когда я проверить IP адрес и я вам enp0s25 (вместо типичных для eth0)
Я поставил

справочной -с enp0s25 Воль г

Теперь у меня завершение работы по ИС 192.168.8.51
На 192.168.8.52 я бегу эфира-звонок 00:26:В9:86:85:13 и ничего не происходит.

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

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

+599
Siyavash vaez afshar 3 июн. 2017 г., 07:17:58

У меня есть текстовый файл input.txt в каждой из ста вложенных им sample_1, ..., sample_100.

Я могу извлечь первую строку из всех input.txt файлы, используя следующую команду:

найти имя input.txt -старпома ФНР на awk ' = = 1 {печати $0}' > out.txt {} \;

Но это выводит первую строку из всех input.txt один out.txt файл в текущем каталоге.

Я хочу out.txt в каждой подпапке с первой линии input.txt в этой конкретной папке. Например, out.txt внутри sample_57 папке будет первая линия input.txt в sample_57.

Любые идеи о том, как это сделать.

+588
Nikhil Babu 19 нояб. 2015 г., 11:19:59

В Linux, в прошлом -Р $имя_пользователя | у awk '/зарегистрированы в/ {печать $3,$4,$5,$6}' вернет ничего, если пользователь не вошел в систему, в противном случае дата/время список для каждого активного сеанса.

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

+583
User193193 20 апр. 2018 г., 20:32:38

Там суть в https://gist.github.com/ryin/3106801:

#!/бин/Баш

# Скрипт для установки tmux на системах, где у вас нет корневой доступ.
# tmux будет установлен в доме $/местные/Бен.
# Предполагается, что установлен wget и на C/C++ компилятор есть.

# выход на ошибки
комплект -е

TMUX_VERSION=1.8

# создаем наши каталоги
команды mkdir -р $дом/местное $дома/tmux_tmp
компакт-диск $дома/tmux_tmp

скачать файлы # источник для tmux, libevent и ncurses
с wget -о tmux-${TMUX_VERSION}.tar.gz http://sourceforge.net/projects/tmux/files/tmux/tmux-${TMUX_VERSION}/tmux-${TMUX_VERSION}.tar.gz/download
с wget https://github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz
с wget ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz

# извлечь файлы, настроить и скомпилировать

############
# libevent #
############
libevent-2.0.19-stable.tar.gz тар xvzf 
компакт-диск libevent-2.0.19-стабильный
./настроить --префикс=$дома/локальная --отключить-общий
сделать
сделать установить
компакт-диск ... 

############
# библиотеки #
############
тар xvzf ncurses-5.9.tar.gz
компакт-диск с ncurses-5.9
./настроить --префикс=$дома/местного
сделать
сделать установить
компакт-диск ... 

############
# tmux #
############
деготь xvzf tmux-${TMUX_VERSION}.tar.gz
компакт-диск tmux-${TMUX_VERSION}
./настроить с CFLAGS="-у меня в$Home/местные/включать -у меня в$Home/местные/включать/библиотеки" LDFLAGS="-L в файле$Home/местные/библиотека-л$дома/местные/включать/пакет ncurses-л$дома/местные/включать"
Добейтесь того,="-у меня в$Home/местные/включать -у меня в$Home/местные/включать/библиотеки" LDFLAGS="-статические -л$дома/местные/включать -л$дома/местные/включать/пакет ncurses-л$дома/местные/библиотека" сделать
СР tmux $дома/местные/Бен
компакт-диск ... 

# очистка
РМ -РФ в $Home/tmux_tmp

Эхо "$дома/местные/Бен/tmux теперь доступен. Вы также можете добавить домой $/местные/bin в путь".
+532
Spyro Svolos 25 дек. 2019 г., 12:22:49

С awk, и гадать, что вы хотите

файл ul.на awk (отредактировано)

/Путешествие/ { Ин=функцию substr($1,2,1) ; х=функцию substr($1,10,1) ; г=функцию substr($1,13) ;
 е "JOURNEY_%02d порта на%S; %02d порта на %02d порта\п",Ин,функцию substr(" ",1,31),х,г ;
 следующий ; }
 {печать ;}

а потом запустить

ул на awk -Ф.на awk у

JOURNEY_01 ; 00 ДО 01
 .Байт 00, 00, 00
JOURNEY_02 ; 00 ДО 02
 .Байт 00, 01, 00
JOURNEY_03: 01 ДО 00
 .Байт 00, 01, 01

Это чем-то плохим кодированием, как я предположил, что количество всегда будет 1 цифра.

+515
user282225 12 дек. 2011 г., 00:45:22

У меня есть следующие установки:

  • Источник данных (ИС 192.168.178.1) посылает UDP-пакеты на сервер.
  • Сервер (Дебиан) осуществляет сбор и обработку данных UDP (ИС 192.168.178.10, порт 4000)
  • ПК (Windows 10) должна контролировать УДП данные (IP 192.168.178.22, порт 4000)

Идея заключается в копировании данных UDP и направить его к ПК с помощью iptabels. Правило устанавливается на Debian сервер (IP 192.168.178.10):

в iptables -Т мангл-а следующее -П по UDP --dport 4000 -J в тройник --шлюз 192.168.178.22 

Эффект:

  • Сервер по-прежнему получает и обрабатывает данные по UDP протоколу (ОК).
  • Компьютер получает эти данные, однако с неправильным IP-адрес назначения. Следовательно, эти данные не обрабатываются программным обеспечением мониторинга.

На ПК с помощью Wireshark показывает, что адрес назначения не ИС ПК (.22), но один из серверов (.10):

Протокол Интернета Версии 4, РКЦ: 192.168.178.1, ДСТ: 192.168.178.10

Сейчас есть два, может, три вопроса:

  • Почему ПК получать пересылаемые пакеты UDP с IP-адресом назначения этих пакетов не совпадает?
  • Как может IP-адрес правила в iptables быть изменен IP-адрес ПК? Может быть, мне нужно добавить правило в POSTROUTING?
  • Нужно ли мне обновлять какие-либо контрольные суммы?
+483
linolino 22 авг. 2017 г., 10:17:04

Оформления окна (строка заголовка, границы и т. д.) обрабатываются оконный менеджер, но содержимое окна (меню, и т. д.) обрабатываются самим приложением. Нет стандартного механизма для настройки таких параметров, как цвет фона.

Большинство приложений использует виджет инструментарий, таких как ГТК (используемого в GNOME), Кварты (использовать KDE), мотив, Афина (старый, довольно простой) и т. д. Некоторые наборы виджетов предложить кросс-применение механизма конфигурации. Старые инструменты, такие как Афина и мотив может быть настроен через Х ресурсов. GTK и Qt есть темы, которые позволяют такие вещи, как цвет фона, чтобы быть настроены для всех приложений, использующих данный инструментарий. Слово предостережения с темами: некоторые приложения используют цвета для элементов, которые не определены по схеме, и эти цвета не всегда настраивается, что может привести к неприятным ситуациям, как черного цвета, потому что цвет жестко закодирован в приложении и цвет фона берется из темы.

PCManFM, leafpad и наглость основаны на GTK (это наиболее популярный набор инструментов в эти дни). Это объясняет, почему их внешний вид похож. Вы можете изменить их внешний вид, выбрав другую тему. Есть выбор темы, доступные в GNOME-сайт; Ваш дистрибутив, вероятно, включает в себя несколько из них. Различные версии ГТК использовать различные темы; чтобы увидеть, какие версии GTK программы связано с тем, запустить например, команды ldd /usr/Бен/наглость | грэп libgtk и посмотрите на номер версии после libgtk-. Есть несколько инструментов, которые можно использовать для просмотра и переключатель ГТК темы, в том числе гном-твик-утилиту и несколько возможностей, перечисленных в арке Вики.

+342
bentek 4 нояб. 2011 г., 02:03:12

Посмотреть https://github.com/scop/bash-completion/pull/12/files чтобы понять, как эта фильтрация может быть сделано.

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

_mycomp_unrar(){
 местный я
 _unrar "${[@]}" # использовать старый
 # теперь скопируйте для меня в "${COMPREPLY[]}" вещи
} &&
полный -п Рар # удалить старую завершения
полное -Ф _mycomp_unrar # использовать ваш хороший новый

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


Добавлено фиксации https://github.com/Arthur2e5/bash-completion-1/commit/a586ede чтобы устранить проблему, что наличие части прекратить обычные файлы от просмотра. (Глоб в целом.. нечитабельно.)

Теперь вам нужно скопировать если ((cmp_parts)) часть тоже. Кроме того, сделать cmp_parts местных.

+340
hybotics 21 окт. 2012 г., 15:12:22

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

+339
evanb 10 апр. 2016 г., 15:29:31

Если один открывает файл mbox с редактором, в каждом сообщении, Как представляется, начать с из затем один пробел, а затем адрес и дата. Эта часть имеет синтаксис или часть письма формат спецификация спецификации RFC 2822? Согласно Википедии статьи на почтовый ящик, нет почтового ящика РЧЦ. Разве толстой кишки-меньше от отношение к доменам?

Мне приходится разбирать какие-то почтовые ящики, и я хотел бы знать, как обработать кишки-менее от.

+339
Muhammad Abbas 12 февр. 2011 г., 01:40:59

Меня попросили создать пару ключей SSH, так что я могу получить доступ к удаленному серверу для развития. Для генерации ключей, я использовал SSH-ключей инструмент на нашем CentOS в коробке, которую я благополучно и сделала.

Теперь у меня есть 2 файлы: ~/.по SSH/id_dsa, который находится, ~/.по SSH/id_dsa, который находится.паб. Я дам админ .паб файл, так что он может разместить его на удаленном сервере. Тем не менее, я хочу использовать мой собственный личный ПК с Windows (с помощью Putty) получить доступ к этому удаленному серверу.

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

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

+319
Raza Baloch 26 сент. 2016 г., 09:36:51
каталог="${переменная var1}${var2 будет}"
команды mkdir -Р ... "$каталог"
+288
cancellettopugno 19 сент. 2017 г., 00:10:40

Нужен совет памяти на системы OpenWRT.

У меня есть модуль SKW71 (процессора ar9331). Он имеет 16 МБ флеш-памяти и 512 МБ оперативной памяти DDR2. Изображения для этой системы не существует. Поэтому я установил нормально образ OpenWRT на wr703n портативный маршрутизатор удобно на (4 мб флеш, 32 МБ оперативной памяти). Все, кажется, работает довольно хорошо. Хотя я понимаю, я мог бы построить выделенного изображения в какой-то момент.

Сейчас я хотел бы проверить, если операционная система использует все аппаратные ресурсы.

От разделения МТД я вижу вспышки полностью использованы. Смотрите ниже команды. Я сделаю вам арт + прошивка + U-загрузки на общую сумму 16 МБ. Нормально.

У меня больше недоумевает по поводу оперативной памяти. На этой странице указано, что в /tmp составляет до 50% от размера ОЗУ. Однако по данным командования ДФ я достигну всего около 30мб. Это далеко от 256Мб я ожидал.

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

Я должен быть в состоянии требовать больше памяти для меня в /tmp?

Если да, то как я могу изменить это?

Некоторые команды ниже. ДФ / МТД / meminfo

корень@маршрутизатор OpenWRT:~# DF-ч
Размер файловая система, используемая доступны использования% установленной на
файловой системы 12.6 м 812.0 к 11.8 м 6% /
/разработки/корень 2,3 м 2,3 м 0 100% /ПЗУ
файловая система tmpfs 29.9 м 152.0 к 29.7 М 0% в /tmp
в /dev/mtdblock3 12.6 м 812.0 к 11.8 м 6% /наложения
имплементацией OverlayFS:/оверлей 12.6 м 812.0 к 11.8 м 6% /
файловая система tmpfs 512.0 к 0 512.0 к 0% /Дев

корень@маршрутизатор OpenWRT:~# кошка /proc/МТД 
Дэв: размер erasesize имя
mtd0: 00010000 00020000 "загрузчика"
mtd1: 0010c4d0 00010000 "ядра"
mtd2: 00ec3b30 00010000 "файловой системы"
mtd3: 00c90000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "искусство"
mtd5: 00fd0000 00010000 "прошивки"

корень@маршрутизатор OpenWRT:~# кошка /proc/meminfo | руководитель
Используется параметр memtotal: 61228 КБ
MemFree: 41472 КБ
MemAvailable: 47576 КБ
Буферы: 1880 КБ
Кэширования: 6224 КБ
SwapCached: 0 КБ
Активный: 6172 КБ
Неактивные: 3948 КБ
Активный(Анон): 2120 КБ
Неактивный(Анон): 48 КБ

Редактировать 7 месяц. Все еще ищете решение для этого. Я зашел в приложения uboot и можете ясно видеть это, используя 64Мб оперативной памяти. Похоже, это будет путь исследований.

 Совет: ТП-Линк ТЛ-В1 wr703n портативный маршрутизатор удобно
 Соц: AR9330 rеv. 1
 Процессор: архитектуры MIPS 24Kc
 Оперативная память: 64 МБ DDR2 16-разрядных компании CL3-4-4-10
 Флэш-память: 16 МБ устройством Winbond W25Q128
 МАК: 28:А1:ЭБ:ФД:1А:ФФ
 ЧАСЫ: ПРОЦЕССОР/ОЗУ/АГТ/СИО/РЕФ
 400/400/200/ 25/ 25 МГц
+187
Awnage 31 июл. 2010 г., 23:47:38

с awk, вы можете сделать как этот :

$ Эхо 123.4567 е-05 | у awk '{функции printf "%5.8 ф\п", $1}'
0.00123457

%х.ЖЛ определяет выходной формат, который вы хотите увидеть.

Затем вы можете использовать свой локон ......шаблон....| на awk '{е .........}'

+168
Capiton 16 июн. 2015 г., 08:29:09

Я сравниваю две строки, используя расстояние Левенштейна алгоритм. Я получил РНР реализация алгоритма из здесь. Я называю это выполнение PHP из моей shell-скрипт, как показано ниже.

levenshtein_return=$(на PHP levensh.php "Строка1" "Строка2")

В levenshtein_return переменная содержит значение 1, сейчас, когда есть один персонаж разницы.

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

table_value=$( выражение( 1/ ( 1 + $levenshtein_return ) ) )

Однако, если я использую выше синтаксис, я получаю сообщение об ошибке, как,

линии 52: синтаксическая ошибка рядом с неожиданной знак `1'

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

+155
Abu Bardewa 7 июл. 2019 г., 22:52:12

У меня последняя версия нтпд, потому что бинарные релизы имеют уязвимости. К сожалению, после того, как я построил его и побежал делать установки, он был установлен в /usr/местные/sbin, но система работает старая версия нтпд которая находится в каталоге /usr на/sbin. У меня три вопроса:

(1) Как я могу исправить это, поэтому я использую версию о том, что я построил?

(2) Почему не сделать установите положите его в другой каталог, чем на своем обычном месте в дистрибутив Debian (я бегу из Wheezy)?

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

+77
user2979620 17 апр. 2016 г., 10:38:16

В СШ клиентом и сервером проверки подлинности ключа отпечатков пальцев представлены в разных вариантах, даже с помощью той же команды ssh-ключей -ЛФ (у разных хозяев, или в отношении разных ключей).

Представительство 1:

$ SSH-ключей -если файл /etc/СШ/ssh_host_ed25519_key.паб
256 и SHA256:корень [email protected] (ED25519)

Представление 2:

$ SSH-ключей -если файл /etc/СШ/ssh_host_ed25519_key.паб
н0:21:3Э:ЕК:52:ФФ:19:А9:Е7:71:В5:7Ф:63:23:57:ф7

(пример из этой страницы)

Представление 3:

AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAaaaibmlzdhayntyaaabbbhvo5+sYnRQxerJjG/DmUzQFso+CGzcnGT/SDa457qQqh6WIquvWOIXIY5gNPZoOByAorik+WRxgTT39hYFmpXE=

от

$ SSH-ключей -ч -Ф hostname2
|1|/DmY6Hm8TdZogykndJOUacp2NaM=|МММ+t3vLw3KRySPUeXNqBLCxaGtY= алгоритма ECDSA-алгоритм SHA2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAaaaibmlzdhayntyaaabbbhvo5+sYnRQxerJjG/DmUzQFso+CGzcnGT/SDa457qQqh6WIquvWOIXIY5gNPZoOByAorik+WRxgTT39hYFmpXE=

который линии .СШ/если вы файл, соответствующий hostname2.

В чем разница между ними? И, если они эквивалентны, как получить каждое представление от остальных?


Представления 1 и 3 были получены при использовании OpenSSH_7.6p1 Убунту-4ubuntu0.3, в OpenSSL 1.0.2 н 7 декабря 2017 на Ubuntu 18.04.

+74
Feng Wang 17 окт. 2010 г., 23:41:02
( комплект -е - "$(команда -в найдет)"
 [ -х "${1:?}" ]
 [ ! -е "$1cmd" ]
 [ ! -Л "$1cmd" ]
 МВ -- "$1" "$1cmd"
 кошка > "$1"
 команду chmod +х -- "$1"
) <<""
#!/Бен/ш-Ф
ивал ' метод exec "$0cmd" '"${1$( # ф!'"Инг цвета
 сбросить я Л О М МФС РТ 
 ЧК() случае ${о+$2}${2--} в # $o должны быть установлены или $2
 (-maxdepth с"$2") м= ;; # снятие с матча "$2$2"
 ([\(!]"$2"|-*"$2") # это последний матч
 е %ы${1+%б}%.д\
 "$РТ" \\с 2>&- && # е не если ! $1 
 ЧК(){ ${1+:} выходной; } ;; # ЧК() = !!$1 || выход
 (-?*) сдвиг $((OPTIND=1)) # Ручка -[просмотр] для 
 в то время как команде getopts :ГВУ о # путь резолюции W/
 сделать чехол $О${Л=} в # НУ$л разложений
 (П) снятие л ;; # $[гл]=:- $П=-
 (\?) РТ= ЧК " # опт неожиданные &&
 возврат ;; # отказаться от разбора
 эсок; сделано; сбросить вывода ;; # $о не установлен пока 
 (${М-${О=?*}}) # вышеупомянутых матчах не
 ! [ ! -Л "${Л-$2}" ] || # ! -П ||!! -Л ||
 [ ! / -эф "$2" ] || # ! / == $2 ||
 РТ=$РТ' ! \ (путь "${'$Я%/}/СМИ/*" -чернослив \)'
эсок
 а ЧК ${1+$((я+=1)) "$1"} # цикл while аргументы остаются
 сделать е ' "${'$я}\" # е аргументы к eval
 смена # смена аргументы от
 сделали # сделано
)"

Есть фантик скрипт найти , который будет вставить еще несколько аргументов, чтобы запретить реально найти в /СМИ/ , если любой из ее аргументов равна путь /.

Есть две порции выше скрипт: вот собственно скрипт (который все следующие <<""\П) и там запустить-после установки немного сверху (все между первой подходящей пары ( скобки )).

установите

( комплект -е - "$(команда -в найдет)" #получить /путь/до/найти
 [ -х "${1:?}" ] #еще громко не
 [ ! -е "$1cmd" ] #не если /путь/к/findcmd
 [ ! -Л "$1cmd" ] #и дважды проверить
 МВ -- "$1" "$1cmd" #переименовать .../найти -> .../findcmd
 кошка > "$1" #копирует stdin В .../найти
 чмод +х -- "$1" #Набор бит новый найти по 
) <<"" ###стандартного ввода

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

Установленных скрипт будет навсегда после этого полагаться на переименованном findcmd исполняемый оставаясь там, где он оставил его (так что вы, вероятно, хотите, сообщите свой пакет-менеджер, Если вы используете один) , и каждый раз, когда это вызывается оно заменялось $0cmd назвал все свои аргументы после того, как она немного посмотреть на них. Если вы не сделаете все необходимое, чтобы сделать установку на постоянной основе, то в конечном итоге большинство пакет-менеджеры ветра до перезаписи установлен скрипт с новой найти бинарные в какой-то момент, и поэтому вы сейчас вернусь, где вы начали, кроме того, что вы будете также иметь старшего найти по имени findcmd в системе ../бин каталог.

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

newfind

#!/Бен/ш-Ф
ивал ' метод exec "$0cmd" '"${1+$( # ф!'"Инг цвета
 сбросить я Л О М МФС РТ 
 ЧК() случае ${о+$2}${2--} в # $o должны быть установлены или $2
 (-maxdepth с"$2") м= ;; # снятие с матча "$2$2"
 ([\(!]"$2"|-*"$2") # это последний матч
 е %ы${1+%б}%.д\
 "$РТ" \\с 2>&- && # е не если ! $1 
 ЧК(){ ${1+:} выходной; } ;; # ЧК() = !!$1 || выход
 (-?*) сдвиг $((OPTIND=1)) # Ручка -[просмотр] для 
 в то время как команде getopts :ГВУ о # путь резолюции W/
 сделать чехол $О${Л=} в # НУ$л разложений
 (П) снятие л ;; # $[гл]=:- $П=-
 (\?) РТ= ЧК " # опт неожиданные &&
 возврат ;; # отказаться от разбора
 эсок; сделано; сбросить вывода ;; # $о не установлен пока 
 (${М-${О=?*}}) # вышеупомянутых матчах не
 ! [ ! -Л "${Л-$2}" ] || # ! -П ||!! -Л ||
 [ ! / -эф "$2" ] || # ! / == $2 ||
 РТ=$РТ' ! \ (путь "${'$Я%/}/СМИ/*" -чернослив \)'
эсок
 а ЧК ${1+$((я+=1)) "$1"} # цикл while аргументы остаются
 сделать е ' "${'$я}\" # е аргументы к eval
 смена # смена аргументы от
 сделали # сделано
)}"

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

Скрипт, приведенный выше, достигает этой цели, в большей степени, чем раньше. Я не был удовлетворен прежде, особенно в отношении резолюций путь - но я считаю, что я упоминал. Для того, чтобы сделать это правильно я должен был отслеживать [просмотр] государство так, чтобы я мог корректно сравнивать символические ссылки на / когда-либо из или варианты были эффективны и не отменяет их. Если ссылка тест проходит нынешний аргумент проверяется на наличие -эф равных inode файла матч / - что означает практически любое имя / совместимость (включая символические ссылки, когда -Ч - И являются эффективными). Так что я чувствую себя лучше о таких вещах, и я поставил его на блок в/proc и /sys файла и /Дев от / поиск по умолчанию.

Что она делает особенно хорошо это избежать изменения его называют государство перед передачей, что на $0cmd. Он демонстративно отказывается интерпретировать аргумент набор, который включает в себя любой вариант, который она не готова обращаться и в тех случаях, передает весь комплект вместе с $0cmd нетронутой, и поэтому, хотя в этих случаях он не может перекрыть пути поиска, ни оно влияет на найти'ы поведение каким-либо другим способом. Именно по этой причине, что эвал "старпома wrapped_program $(арг-обработчик)" метод, который я пользу всего для такого рода вещи.

верхнего уровня

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

Когда $( команду Sub ) сделала свое дело в результате метод exec'D команды будет:

свдв "$0cmd" "${1}" ... ! \( -путь "${[число]%/}/СМИ/*" -чернослив \) "${2}" ...

...где все оригинальные аргументы, если таковые имеются ссылки в порядке и по номеру в их первоначальном и неизменном виде (даже нулевая аргументы) в дополнение к шести (!, \(, -путь, "${[число]%/}/СМИ/*", -чернослив, \)) вставки набора, который происходит для каждого успешного / -эф "${num} - й" во время теста параметр сканирования. В противном случае это будет просто:

свдв "$0cmd" "${1}" "${2}" "${3}" "${4}" ...

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

Поэтому только два возможных модификаций этой оболочки может внести в среду его заворачивают цели таковы:

  • Он меняет имя процесса от собственного своего имени + УМК. Это всегда происходит.

  • Он может ввести шесть аргументов в корень спичку в список тех, с которыми она была вызвана.

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

арг-обработчик

В команде замена, я сначала init Варс, чтобы отменить, потому что "" строка-лучший способ не соответствует пути, когда это необходимо. Я тогда объявить ЧК() функцию, а потом вызывать его для каждой итерации в то время как цикл, который будет увеличивать по одному для каждой из сценария аргументов вызова. Он будет печатать каждый инкремент , завернутый в кавычки и скобки, пробел и знак доллара в команду Sub в stdout:

е ' "${'$я}\"

...

"${1}"

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

  • (-maxdepth с"$2") м= ;;

    • Когда находится последняя картина может соответствовать пустая строка, которая может только удастся его заблокировать последующее пути сравнительных испытаниях, и поэтому РТ=$РТ+!\( и так далее никогда не происходит в этом случае. В противном случае ничего не делается.

    • В POSIX спецификации только требует -[ГЛ] чтобы быть признанным перед любым [...путь...] операндов, и любые другие неуточненные. Вот что он говорит о [...путь...] операндов и операндов тест:

      Первый операнд и последующих операндов вплоть до, но не включая первый операнд, который начинается с или ! или (не может быть истолковано как [...путь...] операндов. Если первый операнд начинается с или ! или (поведение является неуказанным. Каждый операнд путь-это путь отправной точкой в иерархии файлов.

  • ([\(!]"$2"|-*"$2")

    • Текущий аргумент-один (слева-парень, или !ура, или она начинается с -*Дэш, а не -параметр maxdepth и последний рисунок был подобран, по крайней мере, один раз.

    • е %ы ${1+%б}%.д "$РТ" \\с 2>&- &&

      • Записать значение $РТ - если любой - в команду по стандарту последовала успешная игра в ноль-продолжительность записи бежать, или неудачное преобразование %.дecimal из одной и той же длины, если $1 не установлен и когда заканчиваются аргументы достигнута. Этот провал закончится , пока петля.
    • ЧК(){ ${1+:} выход; }

      • Если Е является успешной, то ЧК() сделал его одним и только пытаться изменить какие-либо аргументов вообще. С этого момента , пока петли могут продолжать обрабатывать и печатать остальные аргументы, но ЧК() не делать вообще ничего, пока все не выдохлись, в какой момент это будет просто покинуть оболочку. И так после второго совпадения, ни разу, никто из окружающих не совпадают.
  • (-?*)

    • Текущий аргумент не менее двух символов и начинается с тире. Эта модель является более эксклюзивным, чем -*"$2" шаблон над ним еще $О. установлена и поэтому он может только соответствовать по крайней мере один аргумент не соответствовать ему. Таким образом, все первоначальные варианты будут разделены с команде getopts и соответстует [ЛВД]. Если первоначальный вариант не вписывается в такую модель функция рекурсивно вызывает себя, чтобы соответствовать образцу над ним и пересмотреть ЧК(). Таким образом любой последовательности арг, которое явно не обработанные, просто прошел сквозь Verbatim и findcmd делает то, что он будет с результатами.

    • Для каждого исходного параметра, который соответствует -[ГЛ] флаг переменной устанавливается на нулевую строку. И для каждого из тех, что матч это отключено.

  • (${М-${О=?*}})

    • Первый возникает аргумент, который не совпадает -?* вызовет $О'стал значение ?* шаблон. После этого любой из первых двух моделей не может сравниться ${о+$2}${2--}. Если когда -maxdepth с$2 совпадают и М= имеет значение пустой строки, эта модель не может соответствовать еще не аргумент null, и только один матч второго рисунка требуется прекратить все попытки в любом из них.

    • Любой не-null параметр, который происходит после первой последовательности -[просмотр] варианты и прежде еще -* или [\(?!] аргумент соответствует этому шаблону и проверяется на предмет разрешения. Если не установлена то ! ! -Л "${Л-$2}" тест будет пройден, если $2 является символической ссылкой или неверный путь, но в противном случае неизбежно терпит неудачу, потому что нет пути может соответствовать ${л=} nullstring.

    • Только те аргументы, которые не удастся предыдущем тесте проверяются на ! отрицается инода матч / и любой аргумент, который не как результаты анализов в $РТ создается для себя плюс ! \ (путь "${[число]%/}/СМИ/* -чернослив \) строки, которая не написана до второго совпадения, или когда заканчиваются аргументы достигается, какое бы ни приходит сперва.

+29
rt3norio 29 сент. 2011 г., 22:04:54

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

$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