Баш вернуться к основной функции

У меня есть bash-скрипт, который вызывает функцию, которая вызывает другие функции:

#!/бин/Баш
функция Foo
{
 бар функция 
{
 # что-то делать
}
бар
}
фу

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

Возвращаясь к ФОО не проблема с простого возвращения заявления. Для других, я пробовал этот (который на самом деле работает):

#!/бин/Баш
функция Foo
{
 бар функция 
{
 если [минус] # абстрактное заявление
 затем вернитесь 1
 в противном случае возвращается 0
интернет
}
 ! бар && возвращения
}
фу

Но так как у меня есть функции, такие как Фу , разбросанных по всему проекту (бар определена в заголовочном файле), есть ли способ, только требует доработки в бар? Проект ~2К строк и состоит из нескольких файлов, было бы гораздо легче, если есть решение.

+622
r3zaxd1 21 окт. 2016 г., 07:23:42
39 ответов

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

+997
fidbc 03 февр. '09 в 4:24

Возможные Дубликаты:
Цитирование В SSH $Host в $foo и СШ $рать “пользователей -с судо Су $ФОО” тип конструкции
Накрутка команда, которая включает в себя одиночные и двойные кавычки для другой команды

Я хочу, чтобы запустить SQL через SSH из PHP . Ниже команда работает хорошо

СШ сервер1 "судо -у db2inst1 Ш-с '/опт/от IBM/DB2 С/В9.7/бин/DB2 для подключения к рациональному; /опт/от IBM/DB2 С/В9.7/бин/DB2 с набором схем Edumate; /опт/от IBM/DB2 С/В9.7/бин/с DB2 \"выбрать * из edumate_settings\"'"

Теперь мне нужно сделать SSH с сервера server1 на server2, а затем запустить "судо -у db2inst1 .... "там нет.

Есть ли простой способ, как обращаться с цитатами, если я добавить дополнительный сервер в этом случае? Так она начнет нравится

СШ сервер1 "СШ сервер2 "остальное как выше"

Примечание мне нужно запустить код из PHP.

+986
Andy Green 2 мар. 2016 г., 03:53:06
Другие ответы

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


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

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

Мой служебный файл содержит:

[Блок]
Описание=сервер пример 
После=сеть.цель

[Услуги]
Тип=простой
ExecStart=/opt/xxx/xxx/sample.sh 
Перезагрузить=всегда
RestartSec=3

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

Последующие шаги:

  1. перезагрузить демон: systemctl демон-перезагрузка

  2. включить службу: systemctl включить образец

  3. запустить службу: systemctl начать образец

  4. проверка статуса: услуги образец статус, который показывает моя служба запущена...

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

Когда я остановить мою службу через systemctl остановить образец, это не автозапуск. Любая идея, как добиться этого?

+956
Europe guy 26 янв. 2012 г., 14:32:07

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

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

Когда я запустить команду fdisk -l и он просто зависает и мне приходится закрывать терминал.

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

вот ссылка на выход я не могу вставить его сюда, потому что это слишком долго.

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

[137892.604695] как wlan0: связанные
[137897.517506] предупреждение с ACPI: \_SB_.PCI0.PEG0.PEGP._DSM: Аргумент #4 несоответствие типа - нашли [буфер], ACPI требуется [пакет] (20131115/nsarguments-95)
[137897.517818] предупреждение с ACPI: \_SB_.PCI0.PEG0.PEGP._DSM: Аргумент #4 несоответствие типа - нашли [буфер], ACPI требуется [пакет] (20131115/nsarguments-95)
[147331.327969] по USB 3-2: новый скоростной количество USB-устройства 14 через xhci_hcd
[147331.352116] по USB 3-2: новое USB-устройство найдено, idVendor=1631, idProduct=3200
[147331.352126] по USB 3-2: новые строки устройство USB: ПТР=1, продукт=2, где=3
[147331.352131] по USB 3-2: продукт: продукт ВЛИ строку
[147331.352136] по USB 3-2: производитель: производство ВЛИ строку
[147331.352140] по USB 3-2: Серийный_номер: 0000000000006283
[147331.353130] USB-накопители 3-2:1.0: USB запоминающее устройство обнаруженных
[147331.353335] scsi9 : USB-накопители 3-2:1.0
[147332.340647] по USB 4-2: устройство не реагирует на установленный адрес.
[147332.548313] по USB 4-2: устройство не реагирует на установленный адрес.
[147332.749069] по USB 4-2: устройство не принимает адрес 5, ошибка -71
[147333.530241] по USB 4-2: новый высокоскоростной интерфейс USB устройства 6 через xhci_hcd
[147333.554400] по USB 4-2: новое USB-устройство найдено, idVendor=1631, idProduct=3200
[147333.554412] по USB 4-2: новые строки устройство USB: ПТР=1, продукт=2, где=3
[147333.554417] по USB 4-2: продукт: продукт ВЛИ строку
[147333.554422] по USB 4-2: производитель: производство ВЛИ строку
[147333.554426] по USB 4-2: Серийный_номер: 0000000000006283
[147333.556163] USB-накопители 4-2:1.0: USB запоминающее устройство обнаруженных
[147333.556436] scsi10 : USB-накопители 4-2:1.0
[147333.557216] по USB 3-2: USB-отключения, количество устройства 14
[147335.029094] для SCSI 10:0:0:0: прямой доступ к Хитачи HTS547575A9E JE4O для PQ: 0 ANSI в: 2
[147335.029374] карты памяти SD 10:0:0:0: SCSI прикрепленное серией универсальных СГ3 тип 0
[147335.032836] карты памяти SD 10:0:0:0: [ДЗО] 1465149165 512-байтовых логических блоков: (750 ГБ/698 Гб)
[147335.033330] СД 10:0:0:0: [ДЗО] защита от записи отключена
[147335.033333] карты памяти SD 10:0:0:0: [ДЗО] смысл режима: 03 00 00 00
[147335.033829] карты памяти SD 10:0:0:0: [ДЗО] нет режим кэширования найдено
[147335.033832] карты памяти SD 10:0:0:0: [ДЗО] при условии езды с кэшем: через
[147335.038517] карты памяти SD 10:0:0:0: [ДЗО] нет режим кэширования найдено
[147335.038520] карты памяти SD 10:0:0:0: [ДЗО] при условии езды с кэшем: через
[147335.102150] Амми: sdc1 sdc2 < sdc5 sdc6 >
[147335.121804] карты памяти SD 10:0:0:0: [ДЗО] нет режим кэширования найдено
[147335.121809] карты памяти SD 10:0:0:0: [ДЗО] предполагая, что кэш диска: писать через
[147335.121812] карты памяти SD 10:0:0:0: [ДЗО] прикрепила SCSI диск
[147602.815372] по USB 4-2: USB-отключения, количество устройства 6
[147632.555007] по USB 3-2: новый скоростной количество USB устройства 15 через xhci_hcd
[147632.579109] по USB 3-2: новое USB-устройство найдено, idVendor=1631, idProduct=3200
[147632.579119] по USB 3-2: новые строки устройство USB: ПТР=1, продукт=2, где=3
[147632.579125] по USB 3-2: продукт: продукт ВЛИ строку
[147632.579129] по USB 3-2: производитель: производство ВЛИ строку
[147632.579134] по USB 3-2: Серийный_номер: 0000000000006283
[147632.580093] USB-накопители 3-2:1.0: USB запоминающее устройство обнаруженных
[147632.580298] scsi11 : USB-накопители 3-2:1.0
[147633.575692] по USB 4-2: устройство не реагирует на установленный адрес.
[147633.783359] по USB 4-2: устройство не реагирует на установленный адрес.
[147633.984083] по USB 4-2: устройство не принимает адрес 7, ошибка -71
[147634.765262] по USB 4-2: новая суперскоростная количество USB-устройства 8 через xhci_hcd
[147634.789376] по USB 4-2: новое USB-устройство найдено, idVendor=1631, idProduct=3200
[147634.789386] по USB 4-2: новые строки устройство USB: ПТР=1, продукт=2, где=3
[147634.789392] по USB 4-2: продукт: продукт ВЛИ строку
[147634.789397] по USB 4-2: производитель: производство ВЛИ строку
[147634.789401] по USB 4-2: Серийный_номер: 0000000000006283
[147634.790854] USB-накопители 4-2:1.0: USB запоминающее устройство обнаруженных
[147634.791120] scsi12 : USB-накопители 4-2:1.0
[147634.791635] по USB 3-2: USB-отключения, количество устройства 15
[147656.494733] по USB 4-2: сброс суперскорость количество USB-устройства 8 через xhci_hcd
[147656.511562] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e00 отключены 
[147656.511566] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e40 отключены 
[147656.626851] по USB 4-2: сброс суперскорость количество USB-устройства 8 через xhci_hcd
[147656.643599] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e00 отключены 
[147656.643602] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e40 отключены 
[147662.763786] по USB 4-2: сброс суперскорость количество USB-устройства 8 через xhci_hcd
[147662.780621] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e00 отключены 
[147662.780625] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e40 отключены 
[147662.891897] по USB 4-2: сброс суперскорость количество USB-устройства 8 через xhci_hcd
[147662.908702] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e00 отключены 
[147662.908705] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e40 отключены 
[147663.024010] по USB 4-2: сброс суперскорость количество USB-устройства 8 через xhci_hcd
[147663.040807] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e00 отключены 
[147663.040811] xhci_hcd 0000:00:14.0: xHCI, что xhci_drop_endpoint позвонили с РД ffff880327a60e40 отключены 
[147663.041710] SCSI с 12:0:0:0: устройства отключены - не готов после восстановления ошибка 
[147751.783571] по USB 4-2: USB-отключения, количество устройства 8
[147768.504680] по USB 3-2: новый скоростной количество USB-устройства 16 через xhci_hcd
[147768.528775] по USB 3-2: новое USB-устройство найдено, idVendor=1631, idProduct=3200
[147768.528786] по USB 3-2: новые строки устройство USB: ПТР=1, продукт=2, где=3
[147768.528791] по USB 3-2: продукт: продукт ВЛИ строку
[147768.528796] по USB 3-2: производитель: производство ВЛИ строку
[147768.528800] по USB 3-2: Серийный_номер: 0000000000006283
[147768.529776] USB-накопители 3-2:1.0: USB запоминающее устройство обнаруженных
[147768.530051] scsi13 : USB-накопители 3-2:1.0
[147769.525243] по USB 4-2: устройство не реагирует на установленный адрес.
[147769.728880] по USB 4-2: устройство не реагирует на установленный адрес.
[147769.929750] по USB 4-2: устройство не принимает адреса 9, ошибка -71
[147770.710935] по USB 4-2: новый высокоскоростной интерфейс USB устройства 10 с помощью xhci_hcd
[147770.734206] по USB 4-2: новое USB-устройство найдено, idVendor=1631, idProduct=3200
[147770.734208] по USB 4-2: новые строки устройство USB: ПТР=1, продукт=2, где=3
[147770.734209] по USB 4-2: продукт: продукт ВЛИ строку
[147770.734210] по USB 4-2: производитель: производство ВЛИ строку
[147770.734211] по USB 4-2: Серийный_номер: 0000000000006283
[147770.735356] USB-накопители 4-2:1.0: USB запоминающее устройство обнаруженных
[147770.735492] scsi14 : USB-накопители 4-2:1.0
[147770.735896] по USB 3-2: USB-отключения, количество устройстве 16
[147772.975132] SCSI с 14:0:0:0: прямой доступ к МЦД WD32 00BEVT-75A23 01.0 кнопки PQ: 0 ANSI в: 2
[147772.975725] СД 14:0:0:0: SCSI прикрепленное серией универсальных СГ3 тип 0 

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

первая команда dmesg

вторая команда dmesg


правка 2

Я использовал вместо обычного один порт SuperSpeed, видимо, это может сделать вещи.

У меня есть 4 USB порта, я не уверен, что есть что в плане скорости (они не окрашены).

Первые тесты были проведены с 1 портом, я сейчас тест за другим, чтобы проверить это я просто подключить накопитель с помощью переходника и затем выполнить команды dmesg > hdd.txt:

порт 2

порт 3

порт 4

для моя ссылка (портов которое, как я смотрю на ноутбуке) :

порт 2, порт 4
--------------------
порт 1 | порт 3
+940
Muhammad Ali Khan 3 мая 2015 г., 16:21:50

Проблема, кажется, была в одном из файлов в ~/.местные/доли/kscreen. Ноутбук был подключен к внешнему монитору, когда оно было приостановлено, но без монитора, когда дело было открыто. Я должен подчеркнуть, что я делал это довольно много раз уже на эту установку, так что я не знаю, почему что-то сломал этот конкретный момент. Вот файлы в вопрос, на будущее (да, вероятно, я буду один, глядя на это через полгода, когда у меня тот же вопрос снова):

$ фрд
/дома/dotancohen/.местные/доли/kscreen

$ общ.
57aa46c23fd36deda7a9cfb885d7ecee 57aa46c23fd36deda7a9cfb885d7ecee_lidopened 62f30f6a728bde980d325725a3f19f77

$ кот 57aa46c23fd36deda7a9cfb885d7ecee
[
{
 "включено": правда,
 "идентификатор": "9dda8f0b1446d1e151e4d85bb529df5d",
 "метаданные": {
 "полное имя": "xrandr поближе-неизвестно",
 "имя": "LVDS1"
},
 "режим": {
 "обновить": 60.001659393310547,
 "размер": {
 "высота": 768,
 "ширина": 1366
}
},
 "Экт": {
 "х": 1080,
 "г": 464
},
 "первичка": правда,
 "вращение": 1
}
]

$ кот 57aa46c23fd36deda7a9cfb885d7ecee_lidopened 
[
{
 "включено": правда,
 "идентификатор": "9dda8f0b1446d1e151e4d85bb529df5d",
 "метаданные": {
 "полное имя": "xrandr поближе-неизвестно",
 "имя": "LVDS1"
},
 "режим": {
 "обновить": 60.001659393310547,
 "размер": {
 "высота": 768,
 "ширина": 1366
}
},
 "Экт": {
 "х": 1080,
 "г": 464
},
 "первичка": правда,
 "вращение": 1
}
]

$ кот 62f30f6a728bde980d325725a3f19f77 
[
{
 "включено": правда,
 "идентификатор": "9dda8f0b1446d1e151e4d85bb529df5d",
 "метаданные": {
 "полное имя": "xrandr поближе-неизвестно",
 "имя": "LVDS1"
},
 "режим": {
 "обновить": 60.001659393310547,
 "размер": {
 "высота": 768,
 "ширина": 1366
}
},
 "Экт": {
 "х": 1080,
 "г": 464
},
 "первичка": правда,
 "вращение": 1
},
{
 "включено": правда,
 "идентификатор": "0ffbea62a50d7b3aa8d01f0a7a422554",
 "метаданные": {
 "полное имя": "xrandr поближе-E2342-211NDTC7A529",
 "имя": "входы vga1"
},
 "режим": {
 "обновить": 60,
 "размер": {
 "высота": 1080,
 "ширина": 1920
}
},
 "Экт": {
 "х": 0,
 "Ъ": 0
},
 "первичка": ложные,
 "вращение": 2
}
]

Дотан, просто запустите ее и покончим с этим:

$ РМ -РФ ~/.местные/доли/kscreen

И поцелуи Мейрав, Maayan, Офек, и Еты, а вы на него!

+938
Wendy Bower 24 дек. 2013 г., 04:38:07

Как я могу читать .настольные файлы без необходимости (пере)изобретать колесо? Есть ли Python или библиотека C, которая доступна в репозиториях Ubuntu? Или что-то с командой переднем конце линии которые могут быть использованы на любом языке?

кода валюты XDG-инструменты не только установку и проверку. pyxdg только возвращает строки для каждого ключа. Я хочу что-то выше уровня, соответствующего как это предназначается, чтобы использоваться согласно спецификаций, а не только ini-файл-библиотека разбора. Например, я хочу вырваться и котирование , , , , И и т. п., ключевые старпома, эти дополнительные действия приложения и т. д. Я не хочу, чтобы повторно реализовать (ни прочитать все детали) в спецификации, потому что я уверен, что существует какое-то осуществление ее уже используемого в GNOME и KDE, Ubuntu с Юнити, и т. д.

+937
Praveen Javaregowda 13 июл. 2015 г., 22:55:00

У меня с Transcend USB-накопитель не распознается системой (Debian Джесси 3.16-для amd64). Позвольте мне объяснить: Когда я подключить его к ПК (гном) он делает характерный звук, когда диск подключен, но это не позволяет мне установить его.

Когда я пишу в консоли команду fdisk -л консоль возвращает мне разделы жесткого диска без распознавания USB-память.

Устройство Начало Конец Размер Тип Секторах 
на /dev/sda1, поскольку 2048 39063551 39061504 18,6 г подкачки Linux 
на /dev/sda2 39063552 1953523711 1914460160 912,9 файловая система Линукс г 

(Пожалуйста, не смейтесь много о моей секционированной.)

Когда я пишу lsblk я вижу это:

ИМЯ МЕТКИ FSTYPE КЛЮЧЕВОЕ UUID И ТОЧКУ МОНТИРОВАНИЯ
ПДД 
├─sda1, поскольку своп a03dfeb5-91f8-4ed5-9785-175ec9bd293b [своп]
└─sda2 ext4 на fdc3f436-512б-471c-a1bd-6ff9caef4023 /
sr0 успешно 

Но что дает мне некоторую надежду, что когда я пишу команду lsusb, оперативное дать этот ответ (я показываю только часть памяти):

Устройство автобусных 001 019: ИД 058f:1234 Алькор Micro корп флэш-накопитель

И когда я пишу команды dmesg в консоли отвечает:

[21187.450951] USB-устройство 1-6: новый скоростной количество USB-устройства 20 с использованием xhci_hcd
[21187.581068] USB-устройство 1-6: новое USB-устройство найдено, idVendor=058f, idProduct=1234
[21187.581070] USB-устройство 1-6: строки новых устройства USB: ПТР=1, продукт=2, где=0
[21187.581072] USB-устройство 1-6: продукт: устройства запоминающие 
[21187.581073] USB на 1-6: производитель: Алькор Micro
[21187.581616] USB-накопители 1-6:1.0: USB запоминающее устройство обнаруженных
[21187.581854] scsi18 : USB-накопители 1-6:1.0
[21188.580422] SCSI с 18:0:0:0: прямой доступ к Универсальный USB флэш-диск 7.76 кнопки PQ: 0 ANSI в: 4
[21188.580638] СД 18:0:0:0: SCSI прикрепленное серией универсальных sg7 тип 0
[21188.581348] СД 18:0:0:0: [ГРС] прикрепила SCSI съемный диск

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

+875
Tomeg 10 дек. 2015 г., 00:35:50

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

#!/Бен/ш
для меня в сл $SMS_MESSAGES` ; сделать
 Эхо SMS_"${я}"SMS_ _NUMBER"${я}"_TEXT >> smslog.дат
сделано

В основном я хочу сделать отчет все полученные сообщения. Однако с помощью приведенного выше сценария все SMS_1_NUMBER SMS_1_TEXT. Как я могу получить значения, хранящиеся в этих переменных?

+874
ThatsAMorais 1 авг. 2017 г., 08:07:39

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

На будущее вот решение с помощью команд Копировать pasteable

1: найти, где раздел Лукс начинается, все Лукс разделы имеют заголовок текста, содержащего слово Лукс. Так

судо шестнадцатеричного представления -с устройства /dev/<диск> |грэп Лукс

2: Обратите внимание, где Лукс был, шестнадцатеричного представления должны перечислить смещение, где его нашли начале этого заголовка. Смонтируйте раздел в качестве пускового устройства петлевого, где смещение вы нашли заголовка LUKS в

 команду sudo losetup -о <смещение, шахта в Xubuntu с SSD от Intel и grub2 был 0x3e900000> -Р-Ф /Дев/nvme0n1 

3: Узнайте, какие устройства его получили losetup бы

losetup -а

4: расшифровать и горе

 судо пакета cryptsetup luksOpen /dev и/loop1 luksrecover

На данный момент диск должен был смонтирован в /Media/ Вместе: твой /дома должен быть зашифрован, времени для расшифровки

5: диск /домашний/

ecryptfs-восстановить-частная судо .Частная/

Это должно произвести следующие

Информация: нашли [.Частная/].
Попытаться восстановить этот каталог? [Д/н]: г
Информация: нашли свой завернутый-пароль
Вы знаете свой пароль для входа? [Д/н] г
Информация: укажите Ваш пароль для входа...
Фразу: 
Вставить двиг ток с сиг [8c5d84b9d7f0cc5b] в сессии пользователя брелок
Информация: успех! Личные данные установлены в [в/tmp/ecryptfs.mxsowbiD].

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

Кризис миновал, и прошло всего несколько часов

+869
BudgieInWA 16 нояб. 2019 г., 03:44:09

Есть аргумент как - установить-маршрутизатор dir=/usr/местные/Бен или --именем=композитор также запустить Composer непосредственно когда установка заканчивается, таким образом redunding необходимость && или ;?

Работает ./composer-setup.php --помогите перечислены поддерживаемые варианты, и показывает, что нет ничего, чтобы реализовать то, что вы после.

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

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

завиток -СС https://getcomposer.org/installer | РНР -- --установки для dir=/usr/местные/Бен --именем=композитор && композитор

но я всегда рекомендую сохранять копии скачанных установщиков.

+866
Tyler Montney 12 мая 2013 г., 12:17:37

Не серьезным вопросом, потому что это может быть исправлено с перезагрузкой, но мне интересно знать, есть ли способ восстановить файлы (возможно не все, но как можно больше) в файле/proc, /sys файла, на/dev/ПТС и /Дев.

Я удалил их частично при удалении корня каталога с этих каталогов смонтированы с

горе -Т прок прока [путь/от/корня]/прок
горе -Т файловой системы sysfs в sys [путь/от/корня]/Сыс
горе ... привязать /dev/[путь/от/корня]/Дев
горе -Т devpts /dev/в путь [путь/от/корня]/Дев/оч

на Ubuntu amd64 в 16.10. Удаление неудачных для некоторых файлов (я не записывал сообщение об ошибке), потому что удаление файлов было отказано, что я могу понять. Я думаю, что решения будут применяться для всех систем, основанных на Debian.

После выхода из окружения я вижу вещи, как

$ Общ -в bash: /dev/нуль: Berechtigung нет 
Баш: _upvars: `-А2': неверный номер описателя
-в bash: /dev/нуль: Berechtigung нет 
Баш: _upvars: `-А0': неверный номер описателя

во время автодополнения с вкладки на ЛС (после экспорта языка=En).

+861
Kanyiva 10 нояб. 2015 г., 13:00:27

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

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

Для версия, используемая во многих системах:

  • Если опция -Р пейджер дается то, что пейджер используется.
  • В противном случае, если переменная окружения MANPAGER расположен он используется.
  • В противном случае, если пейджер находится он используется.
  • В противном случае по умолчанию используется /usr/Бен/меньше

Если страница руководства в формате HTML, то браузер используется вместо MANPAGER/пейджер

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

Читать мужчине за подробностями

+830
Chantel Beal Nickerson 21 нояб. 2012 г., 02:30:27

Я думаю, что вам не хватает, что происходит.

Привилегированный не корень. По умолчанию контейнер работает как root, но с несколько возможностей, и ООН-привилегированные.

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

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

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

Когда оператор выполняет докер запустить-привилегированное, Докер позволит доступ ко всем устройствам на узле, а также установить некоторые конфигурации в AppArmor или SELinux для позволяют контейнер почти все такой же доступ на хост-процессы, выполняющиеся вне контейнеров на хозяина. Дополнительные сведения о запуске с --привилегированные доступна на блог Докер.

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

Вы можете также отображать отдельные файлы / каталоги, от хозяина, С .

+824
Rodney Hawkins 9 июн. 2019 г., 06:56:16

У меня есть два предложения-выровнены параллельных корпусов (текстовые файлы) с около 50 миллионов слов. (от сайт europarl корпус -> параллельный перевод юридических документов). Теперь я хотел бы перетасовать строк из двух файлов, но оба одинаково. Я хотел подойти, что с помощью gshuf (я на Mac), используя один уникальный случайный источник.

gshuf --случайных-источник /путь/к/некоторые/случайный/файл1 данных 
gshuf --случайных-источник /путь/к/некоторые/случайный/файл2 данных 

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

+744
talski 13 янв. 2016 г., 19:39:55
apt-получить-просто-распечатать обновить

Не читал, что легко, ниже на Perl один лайнер, чтобы проанализировать вывод команды apt-получить:

apt-получить-просто-печатать обновления 2>&1 | жемчужно-не 'если (/инст\с([\ш,\-,\д,\.,~,:,\+]+)\с\[([\ш,\-,\д,\.,~,:,\+]+)\]\з\(([\W и\-,\Д,\.,~,:,\+]+)\)? /Я) {программа печати": $установлен 1: $2 в наличии: $3\П"}'

Это должно что-то выходной, как:

Установленной программой: жратва-ПК: 1.99-21ubuntu3.1 в наличии: 1.99-21ubuntu3.9

Надеюсь, это поможет кто-то другой,

+711
user94455 9 сент. 2015 г., 17:44:14

Я нашел эту нить на ubuntuforums на тему: методические указания: создавать и восстанавливать резервные копии кэша апта.

АПТ кэш

Когда вы установите .деб файлов в Ubuntu/Debian с они сохраняются в следующем каталоге, каталог/var/кэш/АПТ/архив/. Так что вы можете скопировать их отсюда в любое время, если вы хотите, чтобы держать их в безопасности где-то еще. Файлы должны быть названы практика*.деб.

с dpkg-RePack от

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

с dpkg-RePack от создает .deb файл из пакета Debian, который уже была установлена. Если любые изменения были внесены в пакет в то время как он был распакован (т. е. файлы в /etc были изменены), новые пакет будет наследовать изменения.

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

Он может быть установлен так, apt-получить установку с dpkg-RePack от.

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

Пример

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

$ судо команды dpkg -л|грэп помощью bzip2
второй командой bzip2 1.0.6-4 высокого качества для amd64 блок сортировки компрессоров файл - утилиты

Следующая команда пакета:

$ судо команды dpkg-RePack от помощи bzip2
с dpkg-деб: предупреждение: './команды dpkg-RePack от-16687/дебиан/управления содержит пользовательские поля 'Оригинал-Хранитель'
с помощью dpkg-деб: предупреждение: игнорирование 1 предупреждение о контрольный файл(ы)

команды dpkg-деб: пакет здании командой bzip2' в `./bzip2_1.0.6-4_amd64.деб'.

Вы можете подтвердить содержание .деб файл вот так:

$ судо команды dpkg -с bzip2_1.0.6-4_amd64.деб |глава -15
директорию типа drwxr-XR-х корень/корень 0 2013-08-22 00:08 ./
директорию типа drwxr-XR-х корень/корень 0 2013-08-22 00:08 ./бин/
-rwxr-XR-х корень/корень 31152 2012-08-03 12:30 ./бин/bunzip2
-rwxr-XR-х корень/корень 2140 2012-08-03 12:30 ./бин/bzdiff
-rwxr-XR-х корень/корень 4877 2012-08-03 12:30 ./бин/bzexe
-rwxr-XR-х корень/корень 3642 2012-08-03 12:30 ./бин/bzgrep
-rwxr-XR-х корень/корень 31152 2012-08-03 12:30 ./бин/bzcat
-rwxr-XR-х корень/корень 10376 2012-08-03 12:30 ./бин/bzip2recover
-rwxr-XR-х корень/корень 1297 2012-08-03 12:30 ./бин/bzmore
-rwxr-XR-х корень/корень 31152 2012-08-03 12:30 ./бин/помощи bzip2
директорию типа drwxr-XR-х корень/корень 0 2013-08-22 00:08 ./УСР/
директорию типа drwxr-XR-х корень/корень 0 2013-08-22 00:08 ./usr/доли/
директорию типа drwxr-XR-х корень/корень 0 2013-08-22 00:08 ./usr/доли/человек/
директорию типа drwxr-XR-х корень/корень 0 2013-08-22 00:08 ./usr/доли/человек/докладчик 1/
-РВ-р--р-- корень/корень 1873 2012-08-03 12:30 ./usr/share/man/man1/bzmore.1.gz
...
...
+703
user4120 16 нояб. 2011 г., 05:33:19

Воссоздание initrd.gz работал для меня в прошлом. Я сделал это, следуя инструкциям, размещенным в теме на форуме в Debian. Вы можете найти полное описание здесь: это мой вопрос, который я связан в мой комментарий выше.

+667
yuv raj 19 нояб. 2011 г., 00:43:45

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

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

Регулярные выражения не могу рассчитывать, но sed может петли.

Вот СЭД фрагмент, который будет захватывать с любой строкой, содержащей Test_Macro линии с соответствующим рядом парень, даже если есть вложенные скобки:

#Н
/Test_Macro/{
п;
:рэп
с/([^()]*)//;
треп
/^[^(]*$/сут;
ч;
Н;
п;
х;
Г;
грпред
}

Преобразуется в один-лайнер, это выглядит так:

СЕПГ -н -е '/Test_Macro/{Р;:репь-е с/([^()]*)//;трэп-е '/^[^(]*$/д;ч;п;р;х;г;грпред' -е '}'

Входной и выходной выглядеть так:

$ кошка темп 
Test_Macro ("АБВ", "деф", "\Н строка1 строка2 \Н тестовая строка",
 "тест строка2 \Н");
// Какой-то код или текст

Test_Macro(asdsadas, "тест Строка1");
// Какой-то код...
$ СЭД -н -е '/Test_Macro/{Р;:репь-е с/([^()]*)//;трэп-е '/^[^(]*$/д;ч;п;р;х;г;грпред' -е '}' темп 
Test_Macro ("АБВ", "деф", "\Н строка1 строка2 \Н тестовая строка",
 "тест строка2 \Н");
Test_Macro(asdsadas, "тест Строка1");
$ 
+606
Altnull 8 февр. 2017 г., 12:12:35

Я вижу сообщение об ошибке каждый раз, когда я выполните команду ниже. Почему?

$кронтаб -л
нет crontab на сервере

где сервер - это учетная запись пользователя.

Эта проблема возникает потому, что скрипт в crontab не работает, так что я пытался сломать эту проблему. Это том, что я поставил через кронтаб -е:

кронтаб -е
@перезагрузки /usr/bin/teamspeak3-server_linux-amd64/ts3server_minimal_runscript.sh

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

+540
Blackblack Ant 19 апр. 2013 г., 09:52:21

Я поменял ОС Х Йосемити оболочки zsh и настроен "О, мой ЗШ" плагинов, недавно я установил proxychains-NG на прокси-инструменты командной строки, но я нашел ЗШ завершения не работает на команду после proxychains4, как

proxychains4 с wget [нажмите Tab], не придумывать варианты от wget 
proxychains4 ги[вкладка], не придумают "ГИТ"

И zsh не работает на команду после того, как псевдоним либо,

псевдоним прокси="при=НТТР://127.0.0.1:12345"
прокси-самогон[нажмите Tab], не придумает подкоманд сорт 

не будет никаких доработок для команды и это вариант. Любая идея? спасибо.

+539
Wekwek Woulf 16 июн. 2012 г., 21:11:10

Вы можете использовать существующий скрипт в качестве шаблона. Я использовал существующие скрипты как успешно шаблонов. Есть много примеров вокруг. Вот ссылка я нашел. thegeekstuff.com/2012/03/lsbinit-script у меня нет ассоциации с thegeekstuff.com

Обычно скрипт, который разветвляется в фоновом режиме создаст файл в каталоге/var/работа/. Например, вот пример пид - файл, созданный СШ

[email protected]:/var$ LS в каталоге /var/работа/команды.пид 
в /var/работа/команды.пид
[email protected]:/var$ кот /ВАР/работа/команды.пид 
1117
[email protected]:/var$ ПС-с команды
 ПИД ТЕЛЕТАЙП ВРЕМЕНИ УМК
 319 ? 00:00:00 министр внутренних дел Великобритании
 375 ? 00:00:00 министр внутренних дел Великобритании
 1117 ? 00:00:01 министр внутренних дел Великобритании 

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

+521
redrich 27 сент. 2014 г., 20:13:38

У меня есть 2 папка - папка1 и папка2.

IM в папка1 и нужно выполнить shellscript, который будет искать все CSV-файлы в папка2..

Текущая проверка скрипта *.CSV в текущей папке..как точка в папку2?

для файл в *.КШМ
делать
 сплит -л 50000 -д-4 "$файл""$"
сделано
+518
user37263 14 февр. 2010 г., 09:13:23

Вы могли бы использовать это:

для C В {А..я}; делать
 Эхо -н "с: "
 тр '' '\п' < dico.txt | команда grep $ц | туалет -л
сделано

Работает это следующим образом: цикл проходит через каждый символ от A до Z. тр заменяет все пробелы с переносами строк, так что каждое слово имеет свою собственную линию. Затем команда grep выполняет поиск символа в слово печатает его, если символ не найден. туалет на счету этих линий.

+461
Nabeel K 10 окт. 2014 г., 07:14:38

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

Насколько правда, безопасность данных, вы лучше использовать Btrfs для репликации, чем MD или пакет lvm2. Из-за внутреннего блока контрольного суммирования сделано в Btrfs, он может сказать, когда вы делаете звонок читать ли данные хороши и автоматически упасть в другую копию, если это не так, и это будет правильно выбрать хороший экземпляр блока, на каждом блоке при перемотке.

Теперь, все, что сказал, самый лучший вариант я нашел до сих пор является на самом деле использовать ее в режиме с RAID1 на двух MD или пакет lvm2 и RAID0 томах. Хотя это и не совсем так же, как ext4 или XFS поверх МД в RAID10, он выполняет гораздо лучше, чем ее реализация в RAID10 или запустив одну ее устройства на МД в RAID10 на одни и те же устройства, и выдает те же данные гарантии безопасности. К сожалению, это требует четырех устройств.

+352
user1483 26 дек. 2013 г., 12:23:31

Я пытаюсь установить Debian Lenny на моей новой машине, наряду с Windows 7 64-бит. Когда я дошел до той части, где он обнаруживает мои диски, не могу найти. У меня есть 1 ГБ флэш-накопитель в FAT32, если он обнаруживает это, но он не видит мой привод Хитачи или мой USB от Seagate. Я секционированный раздел 100ГБ на внутренней Хитачи диск в FAT32. У кого-нибудь есть идеи?

Мобо: ноутбук ASUS Х58 саблезуб Жесткий диск: компания Hitachi HDT721010SLA360 жесткого диска SCSI

+327
Moses Goglin 9 мая 2013 г., 16:27:13

Симлинки

Autodereferenced ссылок на имена файлов

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

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

Указатель/справочник по языку C++ аналогия

Если вы знакомы с C/C++, то символическая ссылка ведет себя несколько как справочник по языку C++ или autodereferenced указатель в большинстве случаев (не все: например, РМ или МВ работают непосредственно на символическую ссылку, а не на цели). Разница в том, что реальных ссылок c++ привязать к адреса памяти, а символические ссылки привязать к файловой системе адресов.

Свесив симлинки

Содержимое символической ссылки не должны быть действительный путь к файлу ссылка --> тогда у вас есть висячие ссылки (как danglig указатель или подвешенные).

Относительные симлинки

Если путь в ссылку не абсолютная (начиная с /), то относительный путь будет решена относительно расположения ссылку (Не ссылку контекстах, относительные пути решаются относительно $ФРД).


Флаг-S и жестких ссылок

К флаг для "создания сymlinks". ЛН может также создания жестких ссылок. Жестких ссылок работают на другом уровне, который находится ближе к реализации файловой системы (следовательно, невозможно создание жестких ссылок в разных файловых системах).

Файловые системы в Unix-магазин имена (названия каталогов) и содержимое файла (оглавление каталога) отдельно, а имена просто autodereferenced подсчетом ссылок указатели на их содержание. Жесткую связь создает другое название того же содержания при увеличении счетчика ссылок.

$ Эхо 'содержание' > Ф1
$ Общ -л Ф1 
 * 1 * #2-й столбец-это количество ссылок
в Ф1 $ Ф2 #создать еще одно имя для содержимого Ф1
$ Общ -л Ф1
 * 2 * #содержание F1 имеет два именованных ссылок на него
$ РМ Ф1 #F1 на содержание жизни (в F2) #
 # потому что РМ удаляет только ссылку на блок данных
 #и это не единственная ссылка
 #(РМ ivokes системного вызова в буквальном смысле под названием `отвязать`)

Жестких ссылок каталог

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


Символических и жестких ссылок—большой обзор фото:

Эхо 'файл данных > именем 
ЛН именем имя_файла2 #жесткой связи
ЛН -с "$ФРД/именем" absoluteSymlinkTofileName 
ЛН -с именем relativeSymlinkTofileName 

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

absoluteSymlikTofileName является autodereferenced ссылку с именем Имя. Пока что путь решает что-то, символическая ссылка является действительной. Если вы удалите мишень, болтается симлинк. Это абсолютная ссылка, так что вы можете переместить его в других местах, не изменяя ее действия.

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

+302
gnosis 4 мар. 2019 г., 16:41:51

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

0 0 * * * systemctl --пользователя перезапустить бота 

Я обнаружил, что он не работает, через несколько дней, когда я проверить состояние службы, аптайм это за 2 дня. Если я выполнить ту же команду вручную, он работает, я использую суперпользователя, кстати, это VPS с ничего важного на нем.
Почему не эта работа? что может быть проблема здесь?
Если я проверить /var/журнал/системный журнал это единственная линия, которая связана с этой конкретной работой:

30 августа 08:09:01 Убунту хрон[21197]: (корень) УМК (systemctl --пользователя перезапустить бота &>/ВАР/лог/бот.журнала) 

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

+301
ionelberdin 22 июн. 2018 г., 04:49:12

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

Что я пытаюсь достичь, это немного другое. Мне не нравится идея моего приглашения перезаписывать файл каждый ЛС I типа (история; история -с; История -Р).

Я хотел бы обновить файл на выходе. Это просто (на самом деле, по умолчанию), но нужно дописывать, а не переписывать:

shopt -с histappend

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

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

Как мы можем решить эту загадку?

+287
April B aperocho 14 мар. 2018 г., 00:39:53

Моя ситуация похожа на описанную в как можно сделать флеш экран на внешнем мониторе. У меня тоже ноутбук расширенная с большим экраном. В стороне от KDE дико сброс экраны относительной позиции (это расширения xrandr --левая) каждый раз, когда я перезагрузки (как ни странно, он помнит, какой экран будет основным), который мне удалось обойти с проставлением небольшие расширения xrandr в команду .xsession теперь, у меня есть большая проблема. Всякий раз, когда я хочу, чтобы некоторые флеш приложения в полноэкранный режим, он появляется в правой части экрана (т. е. той, на которую я нажал некоторые кнопки вспышка полноэкранный режим). Всегда справа, независимо от того, какой экран слева от другой. С другой стороны экрана черная, а также других экрана является неизменным в любом случае.

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

+278
hjf 6 февр. 2016 г., 21:02:40

Расширение на один из комментариев, я не думаю, что ты делаешь, что ты делаешь.

Сначала я создал огромное количество файлов, чтобы смоделировать вашу ситуацию:

$ команды mkdir ФОО
$ компакт-ФОО/
$ х в $(сл 1 1000);сделать сенсорный {1..1000}_$х; сделано

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

$ РМ -Р фу/*
Баш: /бин/РМ: список аргументов слишком длинный

Но это делает работу:

$ РМ -Р ФОО/
$ Общ ФОО
LS: не удалось открыть файл foo: нет такого файла или каталога
+268
Denis Abakumov 21 нояб. 2010 г., 17:52:19

Этот ответ был переписан с чат ответ от другого человека, Все права принадлежат ему, я буду удалять этот пост, если он посты свои.

Этот ответ не позволяют запускать прокси-сервер как root (но может кто-то как root).

Вам нужно получить адрес прокси-сервера, прежде чем перенаправить, это делается через getOriginalDst от идете-прокси.

// https://gist.github.com/ericflo/7dcf4179c315d8bd714c
основной пакет 

импорт (
"Ио"
"чистый"
"синхронизация"
"дрм"
"ошибки"
"вызов"

 журнал "github.com/Sirupsen/logrus"
)

константный SO_ORIGINAL_DST = 80

тип прокси-структуры struct {
 из строки
 fromTCP *чистая.TCPAddr
 сделал Чан структуру struct{}
 журнал *журнал.Запись
}

Функ NewProxy(из строки) *доверенности {

журнал.SetLevel(лог.InfoLevel)
 возврат и прокси - {
 от: от,
 сделано: сделать(тян структуру struct{}),
 журнал: журнал.Полей(лог.Поля{
 "с": с,
}),
}

}

Функ (п *Прокси) начать() ошибка {
 С. журнал.Infoln("начиная прокси")
 ошибка ВАР ERR 
 С. fromTCP, заблуждаться = чистая.ResolveTCPAddr("ТСР", стр. с)
 если (ррр != ноль) {
паника(подстраховаться)
}
 слушатель, ошибка := чистые.ListenTCP("ТСР", стр. fromTCP)
 если индикатор ERR != шь {
 возвращение подстраховаться
}
 идти P.бег(*слушатель)
 вернет nil
}

Функ (Р *Прокси) стоп() {
 С. журнал.Infoln("прекращение доверенности")
 если P.молодец == мь {
вернуться
}
близкие(стр. сделано)
 С. молодец = шь
}

Функ getOriginalDst(clientConn *чистая.TCPConn) (строка IPv4, порт типа uint16, newTCPConn *чистая.TCPConn, ошибках ERR) {
 если clientConn == мь {
 журнал.Debugf("копия(): упс, ДСТ-шь!")
 подстраховаться = ошибки.Новый("ошибка: clientConn равна нулю")
вернуться
}

 // испытание, если основная ФД равен нулю
 remoteAddr := clientConn.RemoteAddr()
 если remoteAddr == мь {
 журнал.Debugf("getOriginalDst(): упс, clientConn.ФД равен нулю!")
 подстраховаться = ошибки.Новый("ошибка: clientConn.ФД равна нулю")
вернуться
}

 srcipport := дрм.Функции sprintf("%V", в clientConn.RemoteAddr())

 newTCPConn = шь
 // сети.TCPConn.Файл() вызовет (clientConn приемника) разъем должен быть помещен в режим блокировки.
 // Решение: берем файл возвращается .Файл(), не надо (), чтобы получить оригинальный
 // назначения, а затем создать новый *чистый.TCPConn по телефонам сети.TCPConn.FileConn(). Новый TCPConn
 // будет в неблокирующий режим. Какая боль.
 clientConnFile, подстраховались := clientConn.Файл()
 если индикатор ERR != шь {
 журнал.Infof("GETORIGINALDST|%в->?->FAILEDTOBEDETERMINED|ошибка: не могу получить копию объекта клиентского подключения файл", srcipport)
вернуться
 } еще {
clientConn.Закрыть()
}

 // Получаем оригинальный пунктом
 // это единственный системный вызов в Golang libs, которые я могу найти, что возвращает 16 байт
 // Пример результата: &{Multiaddr:[2 0 31 144 206 190 36 45 0 0 0 0 0 0 0 0] интерфейс:0}
 // порт начинается на 3-й байт и 2 байта (31 144 = порт 8080)
 // IPv4-адрес начинается на 5-й байт, 4 байта (206 190 36 45)
 аддр ошибаться := вызов.GetsockoptIPv6Mreq(инт(clientConnFile.ФД()), то syscall.IPPROTO_IP, SO_ORIGINAL_DST)
 журнал.Debugf("getOriginalDst(): SO_ORIGINAL_DST=%+в\п", в addr)
 если индикатор ERR != шь {
 журнал.Infof("GETORIGINALDST|%в->?->FAILEDTOBEDETERMINED|ошибка: getsocketopt(SO_ORIGINAL_DST) не удалось: %в", srcipport, ошибаться)
вернуться
}
 newConn, ошибка ERR := чистые.FileConn(clientConnFile)
 если индикатор ERR != шь {
 журнал.Infof("GETORIGINALDST|%в->?->%в|ошибка: не удалось создать фрон FileConn clientConnFile=%+в: %в", srcipport, адрес, clientConnFile, ошибаться)
вернуться
}
 если _, ОК := newConn.(*чистая.TCPConn); ОК {
 newTCPConn = newConn.(*чистая.TCPConn)
clientConnFile.Закрыть()
 } еще {
 сообщение об ошибке := дрм.Функции sprintf("ошибка: newConn не *чистая.TCPConn, а не это: %т (%в)", newConn, newConn)
 журнал.Infof("GETORIGINALDST|%в->?->%в|%ы", srcipport, адрес, сообщение об ошибке)
 подстраховаться = ошибки.Новый(сообщение об ошибке)
вернуться
}

 протокол IPv4 = itod(uint с(эл.Multiaddr[4])) + "." +
 itod(uint с(эл.Multiaddr[5])) + "." +
 itod(uint с(эл.Multiaddr[6])) + "." +
itod(uint с(эл.Multiaddr[7]))
 порт = типа uint16(аддр.Multiaddr[2]) << 8 + типа uint16(Эл.Multiaddr[3])

вернуться
}


Функ (Р *Прокси) запустить(слушателя нет.Tcplistener с) {
 для {
 выберите {
 случае <-п.сделано:
вернуться
по умолчанию:
 подключение, ошибка ERR := слушатель.AcceptTCP()
 Ла := связи.LocalAddr()
 если (Ла == ноль) {
 паника("потеряно соединение!")
}
 дрм.Функции printf("соединения из %S\N", в Лос-Анджелесе.Строка())

 если индикатор ERR == мь {
 идти P.ручка(*соединения)
 } еще {
 С. журнал.WithField("подстраховаться", ошибаться).Errorln("прием ошибки Конн")
}
}
}
}

Функ (п *Прокси) ручки(подключение к сети.TCPConn) {

 отложить подключение.Закрыть()
 С. журнал.Debugln("обработка", подключение)
 отложить п. журнал.Debugln("сделано обработка", подключение)

 ВАР clientConn *чистая.TCPConn;
 IPv4 и порт, clientConn, подстраховались := getOriginalDst (и подключение)
 если (ррр != ноль) {
паника(подстраховаться)
}
 соединение = *clientConn;

 дест := для IPv4 + ":" + дрм.Функции sprintf("%д", порт)
 аддр ошибаться := чистые.ResolveTCPAddr("ТСР", дест)
 если индикатор ERR != шь {
паника(подстраховаться)
}
 дрм.Функции printf("соединения на %S\N", то дест)
 удаленный, ошибка ERR := чистые.DialTCP("ТСР", Нил аддр)
 если индикатор ERR != шь {
 С. журнал.WithField("подстраховаться", ошибаться).Errorln("ошибка набора номера удаленного хоста")
вернуться
}
 отложить пульт.Закрыть()
 РГ := &синхронизация.WaitGroup{}
РГ.Добавить(2)
 идти P.копия(*удаленное, подключение, РГ)
 идти P.копия(связь, *пульт, РГ)
РГ.Ждать()

}

Функ (Р *доверенности) копию(от, до чистой.TCPConn, РГ *синхронизация.WaitGroup) {
 отложить РГ.Сделать()
 выберите {
 случае <-п.сделано:
вернуться
по умолчанию:
 если _, ERR: в= Ио.Копия(&к &с); индикатор ERR != шь {
 С. журнал.WithField("подстраховаться", ошибаться).Errorln("ошибка копирования")
С. Стоп()
вернуться
}
}
}

Функ itod(я uint с) строку {
 если i == 0 {
 возвращение "0"
}

 // Собрать десятичное число в обратном порядке.
 ВАР Б [32]байт
 ВР := ДЛСТР(б)
 для ; Я > 0; я /= 10 {
ВР--
 б[ВР] = байт(я%10) + '0'
}

 возвращать string(б[ВР])
}

главные Функ() {
NewProxy (обычно"localhost:1111").Начать()
 дрм.Код println("сервер запущен.")
выберите{}
}

После этого Вам необходимо:

судо в iptables -Т физ-выход -п ТСР -м протокола tcp --dport 443 -J, его перенаправить-на-порты 1111
судо в iptables -Т физ-выход -п ТСР -м протокола tcp --dport 80 -j может перенаправить-на-порты 1111
судо файле proxyrunner
пойти построить прокси.перейти
судо в iptables -Т физ-выход -м ТСР -п протокол tcp --dport 80 -м владельцем ... Уид-владелец proxyrunner -й вернуться
судо в iptables -Т физ-выход -м ТСР -п протокол tcp --dport 443 -м владельцем ... Уид-владелец proxyrunner -й вернуться
судо -у proxyrunner ./прокси
+239
akandedayo oluwasegun 18 июн. 2018 г., 15:19:52

Мои входные данные в формате TSV:

С1
Р1
Р2
Р3
С2
Р1
Р3

Желаемый результат-это:

С1 Р1
Р2
Р3
Р1 С2 
Р3

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

+194
Bee Neal 24 мая 2014 г., 02:01:32

Убедитесь, что у вас есть много пространства подкачки. Убедитесь, что ваша система находится предпочесть для замены неактивных страниц (ВМ.подкачки=100). Тогда это должно быть достаточно, чтобы приостановить процесс. Ядро предпочитают поменять неактивных страниц.

+161
kardaj 26 дек. 2015 г., 15:37:11

Запущена экране , через dtruss (как трассированием для macOS), показал следующее:

2131/0x12997: открыть("/пользователи/Владимир/.используя базу/72/rxvt-в Unicode-256color\0", признаки 0x4, 0x7FFF5F2B56EC) = -1 подстраховаться#2

По какой-то причине экран использует шестнадцатеричное представление первого письма, а не просто первые буквы Фаннинг, то , используя базу каталогов струтуры.

Поэтому, чтобы исправить это, мне пришлось работать:

ЛН-Р ~/.используя базу/72

Все, кажется, работает сейчас.

+126
BethMx 5 сент. 2019 г., 19:06:20

Если вы не зафиксированы рассылки, взгляните на Debian в текущий проект. Это набор скриптов, которые устанавливает в Debian (другие дистрибутивы тоже возможно) в окружении chroot.

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

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

+113
Cactiw 23 окт. 2011 г., 23:58:40

Проблема в , который не понимает СЭД регулярное выражение, так что вы должны использовать класс символов цифр: [0-9]. Кроме того, СЭД подтяжки для этого использовать, требуют предшествующей обратной косой черты. Вместо:

.*\/\Д{10}\..*

попробовать

.*\/[0-9]\{10\}\..*

Если вы вместо того, чтобы указать -regextype в POSIX-для egrep вы будете использовать:

.*\/[0-9]{10}\..*

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

На сайте regxr.com :

RegExr использует регулярное выражение двигателя Вашего браузера для сопоставления, и его подсветка синтаксиса и документации отражать стандартный JavaScript регулярное выражение.

Что отчасти объясняет, почему регулярное выражение не работает с найти.

+99
WesleySlough 12 янв. 2012 г., 07:34:45

Список всех псевдо корень по NFS-В4 экспортировать каталоги

Общ /сети/IP-адрес-NFS-сервер

Проверьте мой ответ в другой ветке

+63
ayah nabil 8 янв. 2015 г., 06:08:40

Я пытаюсь получить последний стабильный релиз Emacs на Линукс Минт (в Emacs-24.5). Но, почему-то apt-получить только устанавливает 24.3.1. Я обычно согласна с этим, но я пытаюсь использовать spacemacs, и много пакетов требуют не менее 24.4.

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

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

самогон установите в Emacs --с-какао

Я заметил, что Ubuntu поставляется с Emacs 24.5, и я готов для установки этой операционной системы, так как я только использую Линукс Минт на день. Но есть ли способ я могу сделать в Emacs 24.4 и 24.5 на Минт? Другой менеджер пакетов, что-то, чтобы установить все библиотеки, что руководство требует.

Кроме того, я уже посмотрел на переполнение стека и попробовал этот учебник, но это не сработало: В Emacs 24.4 выйдет, как установить его в Ubuntu 14.04

Когда я попытался установить его, он дал мне ошибку о Х и ГТК и некоторые другие окна библиотеки, даже после того, как я сделал то, что все учебники говорили сделать, чтобы получить х библиотек.

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

+34
mdkarthikeyan 26 июл. 2018 г., 04:57:41

Проблема АМД комби АТИ Радеон

  • Запустить Linux в VirtualBox
  • Нажмите вкладку ключ перед загрузкой
  • Добавить к загрузке сценария: setparams load_video insmod gzio
  • Нажмите введите ключ

Результат: черный экран или другие Рубиш, Linux запускается в режим отрисовки и сможете установить

+21
MartiSanchez 19 авг. 2010 г., 06:06:16

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

$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