Команда не выполняется по SSH

Я сделал этот скрипт для курса. Он выполняет команды через SSH из аргументов скрипта, на количество удаленных серверов, указанных в файле:

#!/бин/Баш

Файл # сервер. Могут быть изменены с аргументом-F
SERVER_FILE='/бродяга/серверов

# Функция, чтобы проверить, если выбранный SERVER_FILE существует
filecheck не() {
если [[ ! -е $SERVER_FILE ]]; затем
 Echo "файл $SERVER_FILE не существует". >&2
 выход 1
интернет
}

# Инструкция по использованию 
использование() {
 Эхо "использование $0 -ВСН -F в командной файл''"
 эхо "-в режиме подробных"
 эхо "-с запустить команду sudo на удаленном сервере"
 Эхо "-Н сухого хода, команды фактически не исполняется"
 Эхо "-F файл выбирает другой файл, отличный от /залет/сервера"
 выход 1
}

# В расширенном режиме текст вещи
говорят() {
 если [[ $многословен = 'истинный' ]]; затем
 Эхо "[email protected]"
интернет
}

# Команда СШ 
sshing() {
 СШ -о значок connecttimeout=2 $сервер [email protected]
}

# Пользователь, выполняющий команду, не должен быть корень
если [[ $УИД-экв 0 ]]; затем
 Эхо "вы не должны выполнять этот скрипт с sudo или как root" >&2
 Эхо "использовать аргумент-если вы хотите, судо полномочия" >&2
 выход 1
интернет

# DRYMODE является sshing по умолчанию
DRYMODE='sshing'

#проверить, если файл существует SERVER_FILE 
filecheck не

# Опции для скрипта
в то время как команде getopts vsnf: опция; делать
 вариантом $в
в)
 Эхо "многословный режим"
Многословный='правда'
;;
с)
 говорят, "режим судо"
Судо='судо'
;;
Н)
 скажу режиме "сухого хода"
DRYMODE= "Эхо"
 СУХОГО ХОДА DRYRUN=':'
 Эхо "сухого хода режим: "
Эхо
;;
е)
 говорят, "режим файла"
SERVER_FILE=${OPTARG}
 #проверить, если файл существует SERVER_FILE 
filecheck не
;;
*)
использование
;;
эсок
сделано

Эхо

# сменами, так что параметры будут удалены из списка аргументов
сдвиг $((OPTIND-1))

#Задаем переменную для остальные аргументы, как команда
Команда="${@}"

# Проверяет, если пользователь предоставил никаких аргументов кроме optinos
если [[ $# -экв 0 ]]; затем
использование
 выход 1
интернет

# Выполняет команды
для сервера в $(кота ${SERVER_FILE}); делать
 сказать "выполнив ${команда} на ${сервер}:"
 $DRYMODE $DRYRUN $судо ${команда} 2> /dev/нуль
CMDEX=$?
 # если статус завершения равен 255, что-то не так с сервером или недоступен
 если [[ $CMDEX -экв 255 ]]; затем
 эхо "сервер, которому вы пытаетесь достичь не существует или недоступен. Отмена." >&2
 выход 1
интернет
 # если код возврата не 0 и не 255, что-то не так с командой
 если [[ $CMDEX не-ne 0 ]]; затем
 команду echo "неверный ${команда} или неправильный синтаксис. Отмена." >&2
 выход 1
 # если код возврата не 0 и не 255, что-то не так с командой
интернет
 говорю "команда ${команда} выполняется успешно".
сделано
выход 0

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

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

Таким образом, эта команда не работает:

[бродяга@admin01 бродяга]$ ./run-everywhere.sh -Св 'Эхо 1 | программа passwd --stdin с test4'

Если я сбегу, трубы, С \| он буквально пишет он так:\|. Это другие команды также не работает:

[бродяга@admin01 бродяга]$ ./run-everywhere.sh -Св 'Эхо "1" | sha256sum > файл1'

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

Я нашел проблему с кантом не работает: я должен написать судо после трубу так же, если команду нужно команду sudo привилегии. Это один работает так:

[бродяга@admin01 бродяга]$ ./run-everywhere.sh -Св 'Эхо 1 | судо команду passwd --stdin с test4'

Я до сих пор не может перенаправить хотя.

+332
dan g 9 мар. 2010 г., 15:35:15
39 ответов

Если это точная командной строки, кажется, что это никогда не работает.

Ви не брать опцию "Добавить" .... Так ведь ви просто будет редактировать файл, указанный в командной строке.

Что вы можете сделать, это : судо Эхо 'действие=="добавить", подсистемы=="USB", и файловой системы sysfs{idVendor}=="0204", файловую систему sysfs{idProduct}=="6025", запустить+="/home/supermario/workspace/bash_script.sh"' > > в /etc/udev из/правил.д/85-my_usb_device_rule.правила

+981
Laurissa 03 февр. '09 в 4:24

Альтернативный способ поиска переменной домашний каталог пользователя, если вы используете один из снарядов, где Тильда расширение происходит до вычисления переменной, с getent. Этот инструмент существует, по крайней мере в Linux, Solaris и FreeBSD; я не уверен, что это происходит.

$ Пользователь=Пупкин
$ getent passwd с "$пользователь" | вырезать -д: -Ф6
/дом/ч/Пупкин

Как с Тильдой расширения, это не может дать вам то же самое, что Су - пользователя $user -c 'на Эхо $Home'и будет печатать, если вы имели привилегии, чтобы сделать это.

+980
user134306 5 нояб. 2019 г., 01:25:21
Другие ответы

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


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

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

Я установил Наутилус и открыл ее с терминала, как судо.

судо Наутилус

Он попросил мой пароль и я вошел в нее. И в Наутилусе, я удалил папку www в /var, а теперь сайт ThePirateBay.се работает нормально.

Еще раз спасибо за Вашу поддержку и ответы на мои наивные вопросы!!

+966
Brian Schantz 17 июл. 2012 г., 13:16:37

Современным оборудованием в Linux (по крайней мере некоторые 5 лет, возможно дольше) использовать UTF-8. Как осуществляется настройка среды значения языкового, Лэнг, и язык. См., например, обсуждение здесь или здесь (в Юникоде по центру).

+959
jbaptiste 19 февр. 2015 г., 01:05:30

Я пытаюсь удалить корневой сертификат из моей машины ОС Mac. При этом из программы Keychainaccess 'он спрашивает пароль, а затем ecKeychainItemDelete показывает: в Unix[операция не разрешен]'.

Я также пытался сделать это из терминала с помощью команды (с помощью sudo) и я получаю точно такое же сообщение об ошибке.

+940
hyperkahler 6 июн. 2010 г., 12:35:14

Расширяя на Владимирской ответ, я это специально в мой файл/etc/asound.конф файл:

по умолчанию.namehint.showall по
по умолчанию.namehint.продлен на

Кроме того, добавление подсказок к пользовательской РСМ управления устройством:

РСМ.rate_convert {
 # СНиП
 подсказка.описание "опишите здесь ваш прибор"
}

Я пока не нашел документации, но вы можете найти пример в

  • алса.конф в системе (у меня в /usr/доли/алса/алса.конф)
  • алса.конф в алса GitHub РЕПО
+934
Abigail Bannister 11 нояб. 2015 г., 00:17:04

Самое близкое, что я видел, что вы просите-это проект, я нашел некоторое время назад на GitHub под названием тефлон. Стенды для ядреной менеджер пакетов.

Источники:

  • камень (даже autodownloaded для вас)
  • модули Python (автозагрузки для вас)
  • груша (также загрузки для вас)
  • каталоги
  • об / мин
  • деб
  • узел пакеты (НПМ)

Цели:

  • деб
  • об / мин
  • Солярис
  • тар
  • каталоги

Приложение ППД - это пакет Ruby, так что вы установите его вот так:

$ камень установить ФПМ

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

 $ ФПМ-ы <тип источника> -Т <целевой тип> [список источников]...

Пакетные менеджеры и менеджеры ОС язык программирования

Я бы предостерег вас в мышлении таких как пакетные менеджеры. Пакеты операционной системы необходимы для управления приложениями, но языки программирования, такие как Perl, Ruby и Python может быть полностью независимых от ОС, с помощью таких инструментов, как:

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

Дополнительные примеры см. В разделе Мои ответы на предыдущие ю&л вопросов, где я освещаю программирования пакетных менеджеров язык:

+897
peb 12 июн. 2019 г., 07:26:25

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

+884
Ryan Frazier 14 июн. 2014 г., 01:56:25

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

В Fedora 22

Установка Докер:

$> керл -fsSL https://get.docker.com/ | ш

После установки Докер:

Пользователь должен быть добавлен в группу докер.

$> команду sudo usermod -AG в докер

Демон докер должен быть запущен

$> судо сервис докер запустить

Вы можете установить демон на запуск при загрузке

$> судо докер на утилиты chkconfig

Вы можете проверить службу докер работает

$> статус службы докер 

И последнее проверить

$> докер запустить Привет-мир
+878
Diego L o L 12 янв. 2015 г., 12:10:22
#!/бин/Баш

add_num()
{
Эхо ввести поля num1:
num1 как читать 
Эхо ввести пит2:
пит2 читать 
команда Echo $(( $(эхо $num1 как | тр -д '\р') + $(Эхо $пит2 | тр -д '\р') ))
}

РМ -Ф /ТМП/Ф; mkfifo /tmp/и Ф
2>&1 | НК -л кот в /tmp/Ф | add_num 127.0.0.1 1234 > в /tmp/Ф

Это должно работать... Параметр-C не поддерживается с ЧПУ и это указано в man-страницы, мы должны использовать синтаксис. Кроме того, мы должны усечь возврата каретки, который поставляется с вход через telnet ..

+878
Juan David Pino 23 окт. 2010 г., 03:43:56

На CentOS 7.2.1511, я смог установить его через репозиторий EPEL:

$ Yum установить epel-релиз -г
$ Yum установить, что aria2 -г
+876
Spellblast 17 дек. 2016 г., 00:53:42

Я установил Ляпис рамки с помощью команды:

luarocks установить Ляпис-местные

Он дал мне установку на успех:

Обновление манифеста /главная/Оман/.luarocks/Либ/luarocks/камни
Ляпис 1.5.0-2 сейчас создан и установлен в /Home/Оман/.luarocks (лицензия: МТИ)

После того, как я пытаюсь создать новый проект:

[Оман@Омана ~]$ Ляпис новый

И получаю ошибку:

-Баш: Ляпис: команда не найдена

Почему я получаю это?

+818
Beatles1692 6 авг. 2015 г., 21:02:33

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

и3-МСГ плавающей включить

Это ваши строки config делает.

Проблема теперь заключается в том, что и3-МСГ выполняется до того, как окно находится в фокусе (если это даже захватывает фокус). Питер О. объясняет здесь как сделать окно в фокус на основе своих ПИД. Мы можем использовать это так:

our_application &
пид="$!"

# Ждать окна, чтобы открыть и захватить его окно ID
винид="
а : ; у
 винид="`wmctrl -ЛП | на awk -vpid=$пид '3 $==пид {печать 1$; выход}""
 [[ -з "${винид}" ]] || перерыв
сделано

# Фокус окна мы нашли
wmctrl -ИА "${винид}"

# Сделать его плавать
и3-МСГ плавающей включить > /dev/нуль;

# Переместите его в центр для хорошей мерой
и3-МСГ переместить положение центра > /dev/нуль;

# Подождите, пока приложение, чтобы бросить
ждать "${пид}";

Нотабене:

  • Если приложение не привлечет внимание сама по себе, она может быть достаточно, чтобы просто ждать, что произойдет. Вижу здесь пути определения в настоящее время фокусируемое окно.
  • Я не работаю через него, но это должно быть возможным, чтобы продлить скрипт для возвращения фокуса, где она была, прежде чем мы изменили его.
  • wmctrl не всегда удается выяснить PID для всех Windows; ImageMagick в дисплей всегда был ПИД 0 в своем перечислении, например. См. здесь для модифицированный подход, который использует заголовок окна.
  • Накрутка характерные части вышеуказанного решения в скрипте должна быть возможность написать что-то вроде

    старпома our_command; grab_focus; плавающие включить
    

    в i3 и конфигурации.

+785
leonardinius 5 февр. 2018 г., 02:14:22

Вы можете использовать туалет:

туалет -л именем
+756
Jerry Liang 21 июл. 2019 г., 17:40:50

сохраните скрипт выше в файл, назвать его myscript.pl и запустить его ООН терминал как:

на Perl -з myscript.pl > /output_folder/my_output.txt
+741
PostmaN 3 мар. 2014 г., 03:53:42

Можно использовать другой разделитель полей (по умолчанию пробел) с , а затем вы только должны проверить, если 5-й столбец пуст:

на awk -F' С' '{если (5$=="") {печати $0}' myfile будет

или более лаконично:

на awk -Ф '5 $==""' файл myfile

--

И с команды sed:

файл myfile СЭД -н '/,,[^,]*$/р' 

Не печатать (), за исключением, если это подходящее /,,[^,]*$/ то есть он заканчивается (...$) с ,, (5-е поле пустым) + 6-е поле, которое не содержит , ([^,] = все, кроме запятой).
Обратите внимание, что если у вас более 6 полей, команда не работает, как ожидалось.

+735
LinuCC 17 июл. 2011 г., 08:48:29

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

Я чувствую, что ответ будет включать в трассировщика модуль в какой-то момент, но я смог найти почти ничего на нем. Сервер базы данных является MS-SQL и приложений J2EE работает на RHEL в виртуальных машин 5.10. Последняя машина, которую я пытаюсь выполнить вход в систему.

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

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

+727
uldics 21 февр. 2011 г., 13:19:39

Добро пожаловать клиент StackExchange в Unix.

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

Попытка прямого перевода, что делает его тяжелее, чем он должен быть потому, что systemd не имеет встроенной поддержки многих функций, которые были закодированы в bash до:

  • Пользователь= директива задает пользователя, что он работает как
  • старт-стоп-демона не нужен
  • Явного управления PID-файл не нужен.
  • systemd в уже задает разумный путь переменной, так что вам не нужно.
  • systemd не имеет много вариантов, чтобы контролировать ресурсы, так называя команду ulimit не нужен. Видеть человека systemd не.ресурс-контроль для всех ваших вариантов.

По всем этим причинам, например в Redis.сервис файлы, которые вы найдете в интернете на довольно короткие.

Systemd не поддерживает подстановки переменных среды только в ограниченных случаях. человек systemd не.сервис содержит подробную информацию при поиске "переменная среды substition" в документации.

+679
Frias 20 июл. 2018 г., 09:10:59

На следующую программу, я получаю 0 для Echo$? хоть я и думаю, 1.

тап_п()
{
 возвращение 1;
}
+677
Harsh Sahu 3 авг. 2018 г., 12:17:36

В xkbprint страницу, он показывает..

-тип этикетки Указывает ярлыки для печати на ключи; юридические типы: отсутствует, наименование,код,символы.

Поэтому я предполагаю, что это следует сделать трюк для вас:

xkbcomp /usr/доли/Х11/хкв/геометрия/Майкрософт | xkbprint -ярлык символов -цвет -о - - | ps2pdf - > выход.формат PDF
+604
John Michel 25 мар. 2014 г., 20:48:34

В функции printf команда выполняет неявные итерации, если оно дается больше аргументов, чем спецификаторы преобразования. Например:

$ Е "%С-%З\П" 1 2 3 4 5 6
1-2
3-4
5-6

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

С что мы можем сделать:

е "10.0.0.%з\п" $(сл 1 23)

В функции printf команду, и его повторения поведения, стандарте POSIX: "формат операнда должны быть использованы так часто, как это необходимо для удовлетворения аргументов операндов." С другой стороны, далее команды нет.

+556
VP7 22 окт. 2017 г., 07:26:17

Во-первых: зачем тебе это? Не sshfs сделать работу лучше?

Ваша проблема заключается в противоположном. Сервер находится старый (и, возможно, сломан) KeyExchange методы: Диффи-Хеллман-группу group1-SHA1 и Диффи-Хеллман-группы-обмен-алгоритма SHA1, что не по умолчанию в текущей версии OpenSSH сервер (что это за сервер? Если ваш сисадмин говорит, что она строгая и новее, чем это не правда), но должны быть бара для клиентов.

Вы должны попробовать, чтобы добавить в ваш ~/.по SSH/config, в строке позволяя этим KEX по методам:

KexAlgorithms Диффи-Хеллмана-группу group1-SHA1 и Диффи-Хеллман-группы-обмен-т. е. SHA1

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

+555
Afflicted 16 июн. 2014 г., 14:01:20

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

в rsync-а-удалить-источник-файлы-игнорировать существующий файл /var/www в/домен/СМИ/ каталог /var/www в/домен/бак/
+536
ayat 25 мар. 2015 г., 22:52:11

Вы можете попробовать использовать цикл while, чтобы ждать, чтобы запустить службу:

#!/Бен/ш

# Если уведомление демон не запущен, то запустить его
если ! pgrep -F "и уведомления-демон" > /dev/нуль; тогда
 в /usr/lib в/уведомление-демон/уведомление-демона &
интернет

# Дождитесь уведомления демона, чтобы завершить запуск
пока ! pgrep -F "и уведомления-демон" > /dev/нуль; делать

 # Установить дополнительный задержка
 спать 0.1

сделано

# Играть офигенная песня (у-да-ДУП-ДУП ДУП-ДУП-ДУП...)
уведомления-отправить "принять 5"
игре /дома/мне/музыка/брубэк-клип.в формате WAV

Это должно гарантировать, что вы не продолжаете, пока демон работает (например, если по каким-то причинам это займет больше, чем ваши 0,5 секунды сна).

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

Эти все, кажется, следовать той же основной подход - использовать цикл, чтобы ждать, пока нужные условия.

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

+527
Kris Ten 21 окт. 2011 г., 21:37:27

Я бы хотел попасть в SciPy и первая настройка мой макбук для разработки на Python. Проблема у меня есть много разных версий Python установлен - вот что я получаю, когда Баш autocompletes "о":

питон вместо python2.6-конфиг питон3-конфиг питон3.4М-конфиг
питон-конфиг вместо python2.7 питон3.4 pythonw
вместо python2 вместо python2.7-конфиг питон3.4-32 pythonw2
вместо python2-конфиг питон3 питон3.4-конфиг pythonw2.6
вместо python2.6 питон3-32 питон3.Pythonw2 4М.7

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

+510
FatherOfChef 29 мар. 2012 г., 06:03:25

От КШ инструкцию:

 Условные Выражения.
 Условное выражение используется С [[ команда соединение, чтобы проверить атрибуты файлов и
 сравнивать строки. Поле разделения и создания имени файла не выполняются слова между [[
 и ]]. Каждое выражение может быть построено из одного или более из следующих унарных или бинарных
выражения:
 string значение true, если строка не null.
 -файл
 Аналогично-e ниже. Это устарело.
 файл-е 
 Правда, если файл существует.
+460
Cpt Reynolds 2 сент. 2014 г., 23:02:24

у меня были некоторые проблемы с GNOME-Shell, поэтому я решил установить xfce4

apt-получить установку Кали-Кали по умолчанию-root-логин рабочего стола-база xfce4 xfce4-места-плагин xfce4-вкусности

тогда

обновление-альтернатив и --config X-сессии-менеджер
+420
Slix 18 мая 2011 г., 15:47:35

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

#!/usr/Бен/ожидать -Ф
отродясь экран -м Баш-с Фу
взаимодействовать {
 "\[экран завершение]" выход
}
+419
maxx steele 15 авг. 2010 г., 00:51:19

Когда вы открываете главное меню в ОС Windows (7/Vista) можно быстро осуществить поиск для любого элемента (приложения/документы и т. д.) то же самое в Ubuntu (тире), Кубунту (стартовое меню).

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

Я Google бы много без успеха, вот почему я здесь.

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

+389
Kenci 5 июл. 2017 г., 17:17:15

В настоящее время я установил Ubuntu на 120гб ССД.

Однако у меня также есть 3 дополнительных жестких дисков, установленных на компьютере, 2 х 640 Гб в массиве aRAID и 60ГБ ССД.

То, что я пытаюсь добиться-это использовать 640 Гб диск, чтобы хранить все мои документы и т. д., 120ГБ SSD для только Ubuntu и программ, а затем окончательный 60ГБ SSD-накопитель для резервного копирования наиболее важных документов от 640 Гб диски. Это должно быть инкрементная резервная система, а не заменять файл каждый раз.

Как я могу добиться этого?

+379
Aliceisnt 22 окт. 2018 г., 04:48:21

Как я могу удалить пробел между строками в период первого появления ( и последнего вхождения ). Скажем, если у меня есть строку вроде

(убрать пробел ( fromthefile )между космосом).

Я должен сделать вывод, как

(removespace(fromthefile)betweenspace).
+358
Kelly Miles 12 июн. 2010 г., 01:58:26

@артм показали технику, где вы двойные кавычки скрипт awk и избежать различных персонажей. Вот 3 другие методы

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

usrpid=$(на awk '$1 == "'"$УСР"'" {печати $2}' файл)

Передать переменную в консоли в переменную на awk

usrpid=$(awk и -в ЕГР="$УСР" '1 $ = = ЕГР {печати $2} файл')

Если переменная экспортируется, массив использовать на awk в окру

usrpid=$(на awk '$1 = = "ЭНВИРОН" ["УСР"] {печати $2} файл')

Что последний должен быть предпочтительным.

В рамках первого подхода, как для @артм одно, содержание оболочки переменной встроен внутри на awk код, так что становится внедрение уязвимости , если содержимое переменной жестко не контролировать (например, с ЕГР='бла-бла" | | "система" ("перезагрузка") || "', которые потребуют перезагрузки).

Второй не вводит команду инъекций уязвимости, но если $ЕГР содержит обратную косую черту, то ЕГР на awk переменная будет содержать не то же самое как $ЕГР оболочки переменной как на awk расширяет с-обратная косая черта как escape-последовательности в каталоге.

Используя окру имеет ни один из этих вопросов.

+344
Kimberly Davenport 21 авг. 2016 г., 20:43:32

Бег по rsync в режиме демона на целевой машине позволяет делать то, что вы хотите.

+341
pankaj p 30 мая 2018 г., 14:31:51

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

Позиционировать себя в каталоге бальных:

компакт-диск бальное

В качестве первого шага, создавать выходной файл, содержащий в первой колонке:

вырезать -Ф6 TCGA-А7-A6VW-01А/t_data.цтаб > выход.вкладка

Основная часть работы делается сочетанием найти и на Perl:

найти -имя_экземпляра t_data.цтаб -старпома на Perl -я.бак-лейн 'если($.==1){$АГДУ=~/([-\ш]+)\/.*$/;$Ф=$1}, если(1..ВФ&&($п=$.)){$а[$.]=$Ф[11];$а[1]=$ф;далее}; печать "$_\т$на[$.-$н]"' {} из.вкладка \;

Примечание: это разрушительное действие; исходные файлы будут сохранены с добавлением .бак расширения.


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

для F в */t_data.цтаб; сделать на Perl -лейн ', если(1..ВФ&&($п=$.)){$а[$.]=$Ф[11];$а[1]=$argv В=~С/([-\Ш]+)\/.*$/$1/р;далее} печать "$_\т$на[$.-$п]"' $F из.вкладка | губка из.закладку; сделать;
+321
ashwini 28 мая 2019 г., 23:57:57

Команды для grep и sed

Он выглядит как оригинальный вопрос был неправильно отформатирован. Следовательно, простейшие команды grep и sed лежат:

для egrep '[0-9]{2}$' /путь/к/файлу

и

СЭД -рН '/[0-9]{2}$/р' /путь/к/файлу

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


Грэп

грэп '[^ ]*[0-9]\{2\}( |$)' /путь/к/файлу

Объяснение

  • [^ ]* Любое количество непробельных символов.
  • [0-9]\{2\} соответствуют две цифры. (Вы могли бы использовать [0-9][0-9] вместо этого.)
  • ( |$) Цифры должны быть в конце "слова", следовательно, должно последовать либо пробел или конец строки Терминатор.

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

грэп -е '[^ ]*[0-9]{2}( |$)' /путь/к/файлу

или

для egrep '[^ ]*[0-9]{2}( |$)' /путь/к/файлу

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

для egrep -о '[^ ]*[0-9]{2}( |$)' /путь/к/файлу

СЭД

</путь/до/файла TR '' '\Н' | СЭД -рН '/[0-9]{2}$/р'

Объяснение

  • </путь/до/файла TR '' '\п' входной файл и меняем все пробелы на символы новой строки.
  • СЭД -рН использовать расширенные регулярные выражения (аналогично выше) С , а не печатать все выходные сразу с .
  • [0-9]{2}$ в этом регулярном выражении похож на тот, что выше в грэп линии. Однако, поскольку мы уже убрал все пробелы, нам не нужно определять номера-символы пробела в начале, ни возможного места в конце.
  • /<регулярное выражение>/п Распечатать строки, соответствующие <регулярное выражение>.
+287
jose paulo 28 мар. 2018 г., 03:48:39

Я знаю, что в файле/etc/пользователям использовать sudo?, можно поставить по умолчанию rootpw, но затем команду sudo запрашивает пароль пользователя root для всех команд. Есть ли способ я могу иметь судо задать пароль пользователя root для некоторых команд и пароля пользователя для других?

+227
Suraj Wate 2 сент. 2016 г., 18:28:13

Я пытаюсь скомпилировать на Python 3.5.0 на CentOS 6 с TCL 8.6. Я сделал

./настройки --с-tcltk-включает=я/опт/ActiveTcl-8.6/числе --с-tcltk-библиотеки=л/опт/ActiveTcl-8.6/библиотеки --префикс=/домой/Айвар/localpython

После установки, ожидания -> справка -> о программе показывает мне, что я использую ТК 8.5.7.

Что могло пойти не так?

+226
Benito Augusto 25 июн. 2013 г., 06:46:01

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

Конечно, скрытый в этой фразе есть семя двух разных подходов:

  1. Не предоставляйте доступ к собственности в первую очередь. Не делайте учетные записи пользователей, владельцев файлов. Вместо этого используется команда setfacl предоставить отдельные учетные записи пользователей, права доступа rwx (или любой другой) доступ в ACL. Сделать из них принадлежит какой-то другой счет, присвоенный группе, что счета не часть, и не работает. Здесь недостаткам можно отнести такие вещи, как квоты диска.
  2. Использовать такую форму контроля доступа, что владелец может повернуть обратно. Сделать отдельные учетные записи пользователей, владельцев, но использовать команда setfacl предоставить Деймона счет РАО (или как там) доступ в ACL. Недостатком здесь является то, что аккаунты пользователя могут превратить доступ в первую очередь.

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

Дальнейшее чтение

+174
Saivivekh Swaminathan 22 окт. 2017 г., 12:06:38

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

Можно проверить путем сравнения найти параметры из списка процессов против конфигурации в файл/etc/updatedb от имени.конф.

На Debian стрейч вы можете переключиться найдите и соответствующего ему без команды между альтернативами как mlocate и найти.findutils:

судо АПТ установить как mlocate найти
обновление-альтернатив судо --конфиг найти

как mlocate

хрон демон использует файл/etc/cron-а.ежедневные/mlocate по.

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

судо команду chmod -х /и т. д./cron.ежедневные/mlocate по

Чтобы снова включить его:

судо команду chmod +х /и т. д./cron.ежедневные/mlocate по

найти.findutils

хрон демон использует файл/etc/cron-а.ежедневные/найти.

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

судо команду chmod -х /и т. д./cron.ежедневные/найти

Чтобы снова включить его:

судо команду chmod +х /и т. д./cron.ежедневные/найти

Источник для отключения/включения линии: https://askubuntu.com/questions/268130/can-i-disable-updatedb-mlocate

+117
Sydney Erickson 12 янв. 2015 г., 17:50:34

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

$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