Непоследовательное поведение Баш

У меня есть файл с именем "открыть". Я открываю терминал, прочитайте это первая строка в переменную текст и попытался положить все содержимое в файл кроме текста в новый файл под названием "Открой.темп" с использованием инверсии картины написаны по. Вот код:

[email protected]Сьерра ~/Мои файлы/мои программы % кошки открытая
# ПППП
QQQQ
Рррр
Ссссс
[email protected]Сьерра - ~/Мои файлы/руководитель -Н мои программы % текста=`1 открыть`
[email protected]Сьерра ~/Мои файлы/мои программы % кошки открытая | команда grep -v с $текст > открыть.темп
[email protected]Сьерра ~/Мои файлы/мои программы % кошки открытая.темп 
QQQQ
Рррр
Ссссс

Но когда я ставлю те же команды в файл "test.sh" дай его исполняемый разрешение и выполнить его, он всплывает сообщение об ошибке.

[email protected]Сьерра ~/Мои файлы/мои программы % РМ открыть.темп
[email protected]Сьерра ~/Мои файлы/мои программы нажмите test.sh
[email protected]Сьерра ~/Мои файлы/мои программы % Нано test.sh 
[email protected]Сьерра ~/Мои файлы/мои программы % чмод +х test.sh 
[email protected]Сьерра ~/Мои файлы/мои программы,% . /test.sh 
команда grep: ПППП: нет такого файла или каталога
[email protected]Сьерра ~/Мои файлы/мои программы % кошка test.sh 
руководитель-N текст=`1 открыть`
кошка открыть | команда grep -v с $текст > открыть.темп
+598
thetonymiker 16 февр. 2019 г., 16:53:18
29 ответов

Я работаю с nginx 1.8.0 с nginx-авторизации в LDAP. У меня есть приложение, работающее на /приложение , используя auth_ldap для аутентификации/авторизации. Он работает.

сервера {
 слушать 80;
...
 расположение /приложение/ {
 auth_ldap "ограничено";
 auth_ldap_servers испытаний;
...
}
}

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

Я пытался одновременно использовать auth_ldap и auth_basic (с одним ботом пользователя для последнего), но каких-либо полномочий привести к 401. Я ошибся, или это просто не возможно, чтобы заставить его работать таким образом?

сервера {
 слушать 80;
...
 расположение /приложение/ {
 auth_ldap "ограничено";
 auth_ldap_servers испытаний;
 auth_basic "ограничено";
 auth_basic_user_file /и т. д./nginx/.реврайт
...
}
}

Если это не сработает, ты бы какая-либо другая рекомендация, как поступить?

Примечание: Я пытался зеркало приложение с auth_basic в другом месте. Контроль доступа работает, но приложение hardcodes его URL: ответы /приложение-авт-базовая содержать ссылки на приложения. Я не имеем никакого контроля над приложением, так что это не кажется, ведет в никуда.

сервера {
 слушать 80;
...
 расположение /приложение/ {
 auth_ldap "ограничено";
 auth_ldap_servers испытаний;
...
}
 расположение /приложение-авт-базовая/ {
 auth_basic "ограничено";
 auth_basic_user_file /и т. д./nginx/.реврайт
...
}
}
+981
Erez Tison 03 февр. '09 в 4:24

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

-П ПАДЕНИЕ НАПРЯЖЕНИЯ НА ВХОДЕ 
-П ПРЯМОЕ ПАДЕНИЕ
-П ПАДЕНИЕ ВЫХОДНОЙ 

Здорово! Ваша машина теперь полностью невидимым, завязанными глазами и кляпом во рту с уважением к IP-пакетов. Это почти так же хорошо, как отключить его от сети Ethernet.

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

Правила вывода необходимо, чтобы пакеты, чтобы добраться до портов серверы использовать для HTTP/HTTPS-трафика

-Выход -п ТСР -м многопортовых --dports 80,443 -м трассировщика --ctstate новый,установил -Джей принимает

Правила ввода необходимо, чтобы пакеты в ваш браузер от портов, используемых для HTTP/HTTPS-трафика.

-Входной сигнал -п ТСР -м многопортовых --спортивные 80,443 -м трассировщика --ctstate создан -Джей принимает

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

В чем проблема-то? Нет никакого способа, чтобы получить данные DNS, Вы должны быть в состоянии введите IP-адрес веб-сайты вы хотите посетить в вашем веб-браузере, но это не совсем то, чего мы хотим. DNS-трафик осуществляется через порт 53 с протоколом UDP.

-Выход -П по UDP --dport 53 -м трассировщика --ctstate новый,установил -Джей принимает

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

-Входной сигнал -п УДП-спорт 53 -м трассировщика --ctstate создан -Джей принимает

Сейчас есть некоторый свет, вы можете услышать его, сказать, если сделать DNS-запрос на один из серверов Google

копать @8.8.8.8 slashdot.org

Такой ответ! Но, возможно, ваш браузер все еще не могу выяснить, где на Slashdot самом деле в мире. По крайней мере один дистрибутив (Убунту) настроен на использование внутреннего DNS-прокси, так что вы должны быть в состоянии разговаривать сами с собой (в остальном мире это скучно в любом случае) путем настройки правил, что позволит вам общаться как сервер на порту 53

-Выходной -о-Ло -п УДП-спорт 53 -м трассировщика --ctstate создан -Джей принимает
-Вход -Ло -П по UDP --dport 53 -м трассировщика --ctstate новый,установил -Джей принимает

Обратите внимание на тонкое различие между этими, "я сам себе сервер" правила, и предыдущий, "я просто хочу увидеть мир правил". Также -о-Ло - и -ЛО свидетельствуют о том, что этот сервер будет только обслуживать эту машину, хорошая мера, чтобы не быть втянутым в какие-то сложные ДНС отказов типа атаки.

Теперь вы должны увидеть, что ты опять работает браузер.

+967
Dave Hilditch 14 нояб. 2017 г., 13:13:58
Другие ответы

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


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

только для файлов в каталоге, игнорируя вложенных каталогов:

выражение $(ду -СС | вырезать -Ф1) / $(найти /путь/к/реж -параметр maxdepth 1 -тип F | туалет -л)

Или считать все файлы, включая файлы в подкаталогах:

выражение $(ДУ -с | вырезать -Ф1) / $(найти /путь/к/реж -тип F | туалет -л)
+894
Renzo 22 мая 2013 г., 00:09:11

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

+885
ialonso 29 нояб. 2017 г., 03:25:32

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

+881
NigelMNZ 2 апр. 2018 г., 10:55:19

Использовать на awk на комми выход:

$ комми a.txt b.txt | на awk -Ф'\Т' '$1 || $2 { печать 1 } 3 ${ печати 0 }'

комми будет выводить три табуляции в качестве разделителей столбцов:

  1. линии только в первом файле,
  2. линии только во второй файл, и
  3. линии присутствует в обоих файлах.

То на awk скрипт будет классифицировать любые входные данные, которые как-то в один из первых двух столбцов, как "несоответствие" и выход 1, и если есть что-то в третьей колонке он будет выводить 0 за матч.

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

+826
user3814005 18 авг. 2019 г., 02:14:18

Есть много способов вы можете сделать это.

В bash, попробуйте

xruns функция {
 если [[ `pstree -как $$ | грэп xinit | туалет -л` == 1 ]]; затем
 Эхо "вы находитесь в Икс".
еще
 Эхо "вы не Х".
интернет
}

Или, в ЗШ, попробовать

#!/УСР/бин/ЗШ

CURRENT_VT=`телетайп`

если [[ ${CURRENT_VT[6]} == "р" ]]; # или `${CURRENT_VT:5:1}` в bash
тогда
 # Х вещей
еще 
 # не-х вещей 
интернет
+800
Agiso 22 нояб. 2016 г., 12:24:28

Я работаю в Maxima большое (запустить его на терминал с "rlwrap .../Maxima" и иногда я хочу спасти несколько (несколько) страниц (скроллинг) расчетов.

Я понимаю, я могу использовать xmaxima, вариант, который затем может сохранить его в текстовый файл - это работает. Но я также иногда использую составляющей/Python в терминале, или даже другим.

В общем, есть ли способ, чтобы сохранить несколько экранов интерактивные программы ввода-вывода с терминала баш на файл (возможно, с сохранением слово искусство', или 2D дисплей)?

Я использую Терминатор, хотя и не уверен, что это важно. Кроме того, иногда я работаю над системой Debian и другой раз на Линукс Минт.

+791
andrew aboy 25 мар. 2014 г., 00:02:05

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

При отключении от Пиа (прокси-сервиса) на моем телефоне, все вернулось в норму.

+738
user3614539 19 июн. 2010 г., 16:05:29

Когда я типа ПС-эф , есть много специальных ядра потока процессов показывает.

Меня не интересуют потоки ядра; я заинтересован только в пользовательских процессов/потоков.

Есть ли способ, что я могу скрыть потоки ядра?

+720
Jake Lorfing 3 апр. 2017 г., 05:55:40

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

$ Эхо "$имя"
Испытание (2013).1080р.пр.мкВ
$ х=${имя_файла%.мкВ}; Эхо "${х##*.}"
пр

Здесь ${ВАР%.мкВ} удаляет незначащие .МКВ, и ${Вар##*.} удаляет все, вплоть до (сейчас) последняя точка. Вы могли бы изменить первое дополнение для обработки других расширений путем изменения .мкВ просто .*.

+696
Anwaar Hashem 12 июн. 2010 г., 11:54:12

Кроме побега ? (что имеет особое значение в Глоб выражения) это действительно ничем не отличается от переименования любые другие файлы: так, например, вы могли бы использовать простой цикл консоли

для F в *.МР3\?referredby=РСС; сделать МВ -- "$F" и "${Ф%\?*}"; сделано

где ${Ф%\?*} раковина параметром расширения, который удаляет самые короткие продольный элемент комбинационной \?*

+681
evaldaz 6 июл. 2019 г., 10:38:04

Мне нужно использовать TLS1.Протокол 2 для моего веб-приложения.

Если вы хотите применять протокол TLS 1.2 вам нужно установить версию протокола и, соответственно, не шифров. Соответствующий параметр находится SSLProtocol. Чтобы разрешить только в протоколе TLSv1.2 Используйте и не дай предыдущих версий протокола использования:

 SSLProtocol Протоколе TLSv1.2

Смотрите официальную документацию для более подробной информации.

Могу ли я указать sslCipherSuite за это, пусть скажет "TLS_RSA_WITH_AES_128_CBC_SHA256" ??

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

SSLCipherSuite AES128-SHA256 с
+657
AmN 9 дек. 2012 г., 13:48:42

Ведь разложений в командной строке состояться до назначения переменных. В стандарте сказано так:

Когда дается простая команда должна быть выполнена, следующая ... все должно быть выполнено:

  1. Слова, что признаны назначения переменных [...] сохраняются для обработки в шагах 3 и 4.

  2. Слова, которые не изменяются задания или редиректы должны быть расширены. [...]

  3. Редиректы должны быть выполнены, как описано в перенаправление.

  4. Для каждого присваивания переменной должен быть расширен [...] до присвоения значения.

Обратите внимание на порядок: на первом этапе, задания только сохранен, то других слов расширяются, и только в конце сделать переменное задания проходить.

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

+636
Daarx 6 янв. 2011 г., 14:40:26

Так, после 10 лет, желающих изучать эту книгу, что Рамануджан опирался на многие его ранние успехи в математике, это 2012, и книга, наконец, онлайн.

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

В октаве синтаксис, сначала одна а^2 - Б^2 = (А-Б) * (А+Б)

Вот знакомый из алгебры, конечно.

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

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

Примечание: Я не хочу, чтобы график функции f(Х, У) = Х^2 - г^2. Я хочу нарисовать два квадрата заданного размера в разных цветах, одна внутри другой, чтобы проиллюстрировать разницу квадратов графически.

Что я хотел бы быть в состоянии сделать, это типа что-то вроде

$plotsquare --центр происхождения --цвет=черный,серый черный=серый 8х8=3х3 -м -о сюжете.ПНГ

"черный" был квадрат 8x8, 9 будучи размером 9x9; серый квадрат внутри черного квадрата иллюстрирует разницу квадратов.

Ли что-нибудь подобное существует?

+632
Abdulrhman Alanazi 2 мая 2015 г., 04:01:15

Странно, что ваш ПВС не назначены ВГ и всех параметров равны нулю. Похоже, отформатирована.

1.) Загрузки SystemRescue CD и проверить, если он может обнаружить ЛВС на диске. Так что вы можете резервного копирования данных. Запустить

pvscan
например, вместо строки -яй

Если это не работает, давайте посмотрим, что pvck могу сказать вам:

pvck -Д -в каталоге /dev/sdb1
pvck -Д -в каталоге /dev/sdc1

2.) Не зная, где перегородки ЛЖ ФС не может быть установлен. Без ФС трудно получить доступ к файлам. В крайнем случае можно использовать инструменты для резьбы файла, чтобы сохранить как можно больше данных: см. скальпелем и всего.

+619
Vijay Muralidharan 21 авг. 2013 г., 20:01:36

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

  • когда вы выделите текст с помощью мыши в консоли (то есть копировать), вставить его, и поймешь, что ты лишние пробелы в конце каждой строки.
  • Когда я запускаю Vim с tmux с term=в xterm-256color ВИМ, она ведет себя странно.

Большинство терминалов (таких как xterm) хранить данные, которые можно выбрать на экране. Нет скрытая часть позади него, который говорит терминала, что приложение предназначено, чтобы заполнить фон.

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

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

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

Собираюсь tmux: он не поддерживает эту функцию до нашей эры. Ее разработчики решили не. Так что нормальных приложений в tmux будет производить конечные пробелы. Когда вы переопределяете описание терминала, он путает tmux, поскольку он не знает, что Vim-это действительно при условии, что фон будет очищен , используя текущий цвет. Вы просто стирание. Нет цвета.

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

Для дальнейшего чтения:

  • Поддержка фонового цвета стереть (до н. э.) [был: ВИМ скопировать и вставить пробел вопрос] #109 (tmux баг-репорт)
  • Мой терминал показывает некоторые неокрашенные места (на ncurses чаво)
  • Беда с терминалами (полезная дискуссия по теме)
  • highlightSelection (в xterm руководство)
  • trimSelection (в xterm руководство)

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

  • Патч #105 - 1999/6/5 xfree86 с 3,9 ПП (в xterm изменений)

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

  • Патч #27 - 1996/8/21 - в xfree86 3.1.2 ЕК (в xterm изменений со ссылкой на highlightSelection)

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

+614
nginjem motor 29 июн. 2015 г., 21:06:23

Я верю, что однажды я убедился, что мой кэш устройства государства является "чистым":

$ судо кошка /системы/блока/bcache0/bcache/государство

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

$ судо ДД, если=/dev/нуль=<резервное устройство для кэша> БС=1024 кол-во=1024

Но я не могу нигде найти подтверждение, что эта процедура ничего не испортить.

+603
Henk Mollema 21 дек. 2016 г., 12:31:57

У меня настройки небольшой домашний сервер / NAS работают под управлением Debian 7. Сервер подключен напрямую к роутеру со статическим IP установить в Панель управления роутером. Нет правила переадресации портов установить на серверную машину. Сервер работает нормально в течение двух недель, предоставляя общие ресурсы Samba и услуги Плекс к домашней сети. На прошлой неделе я хотел использовать его, чтобы разбудить других устройств в доме, поэтому я установил справочной и ethwreake пакеты для этого. После этих установок, когда сервер подключен к маршрутизатору (или опосредованно через коммутатор), это сделает подключение к интернету случайным образом, в течение примерно 1-2 минут. После этого времени, возвращает соединения и я могу пинг google.com около 20-30 секунд, и это повторяется вечно. Я совершенно не представляю, что может быть причиной этого. Как может машина делает сброс подключения к интернету для всей сети? Единственное, что я мог думать, это какой-нибудь король из пакетов, а роутер не могу идти в ногу с запросами и сама перезагружается или что-то подобное. Это уже случалось раньше по другому установить Debian, и мне пришлось полностью переустановить ОС, так как я не мог найти решение. Когда я отключить сервер к сети, соединение возвращается приблизительно через 1 минуту. Есть ли какой-то тест я могу сделать, чтобы найти причину, или мне придется чистить снова установить Debian?

+588
Janice Johnson 6 сент. 2015 г., 09:02:54

Не может ДД частей файловой системы

Вы можете использовать ДД , чтобы скопировать целый раздел, который может быть только часть жесткого диска.

Вы спрашиваете, можно ли использовать ДД для копирования разделов.

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

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

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

Изменить размер файловой системы, использовать ДД тогда

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

В первый шаг, изменить размер раздела 300 ГБ, которая заполняется только на треть в раздел чуть выше 100ГБ почти заполнен.

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

После изменения размера, вы можете использовать ДД в стандартный путь на полный раздел, содержащий полный файловой системы.

Инструмент архиве файловой системы

В зависимости от того, что вы хотите сделать, это также может быть полезным:

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

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

+575
user1977132 21 окт. 2015 г., 18:35:02

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

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

ПС1+="\[${голубой}\]<$(базовое имя $CONDA_DEFAULT_ENV)> ";

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

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

Это связано с этим вопросом

И этот пример профиля однако те не напрямую решить проблему, которая нарвалась на приглашения не меняется при активации сред

+504
user100966 30 дек. 2011 г., 17:31:30

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

СР -р из dir1 $/* $директория dir2

компакт-диск $директория dir2 

fdupes -Р директория dir2 $ | а читать я; не

БН="${я%.*}"
доб="${я##*.}"
алгоритм MD5=$(значение md5sum "$я" | у awk '{ печати $1 }')

МВ -в "$Я" "${Б.}_${алгоритм MD5}.${ВН}"

сделано 

Сообщения я получаю при запуске скрипта являются:

программы md5sum: : нет такого файла или каталога
МВ: не стат ‘: нет такого файла или каталога

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

+488
beattyac 4 нояб. 2019 г., 04:43:20

Ядро не имеет файловую систему для записи в течение большей части ботинок, так что если загрузиться не удалось, вам может быть повезло. Однако, это не вести лог в память (в том числе и то, что вы видите на консоли) и еще у него есть РВ ФС, что вещи сваливаются в каталоге/var/журнал/системный журнал.

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

Однако, я не думаю, что ядро использует цветные акценты (в любом случае, сам цвет не будет в журнале), подразумевая, что это системная служба. Некоторые из этих также начать Перед файловую систему в RW, и если это так, то там может быть никаких записей сообщения на всех. В противном случае их вещи должны быть в каталоге/var/журнал/системный журнал.

Вы также можете попробовать блокировка прокрутки, или клавиши Ctrl-с (паузы) нажмите Ctrl-м (и далее) во время загрузки. Есть также "boot_delay параметра", которые могут быть введены в командной строке ядра (например, в жратву.конф).

От src/Documentation/kernel-parameters.txt:

boot_delay = миллисекундах для задержки каждого printk во время загрузки.
 Значения больше 10 секунд (10000) изменяются
 никаких задержек (0).
 Формат: целое число

Надеюсь, хоть одна из этих работ для вас.

+428
chgsilva 23 окт. 2013 г., 09:45:59

Для

$ функции eval `SSH-агента -с`

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

Так что если по SSH-агент запускается скрипт где-то при входе в систему, но терминал B, в которой вы начинаете вы shell-скрипт, это не потомокиз А потом вы не видите окружающей среды в Б.

Если у вас есть SSH-агента начал как systemd в-пользователюуслуг, затем вы можете использовать вместо: Не дай SSH-агента укажите переменные, но использовать общее знание при запуске агента, а при запуске сессии. Е. Г., мой ~/.конфиг/systemd в/пользователей/SSH-агента.сервис выглядит так:

[Блок]
Описание=агент СШ 

[Услуги]
Тип=простой
Среды=переменных ssh_auth_sock=%Т/SSH-агента.гнездо
ExecStart=/usr/Бен/СШ-агент -Д-а $переменных ssh_auth_sock

[Установите]
WantedBy=по умолчанию.цель

И в моем ~/.профиль я линия

экспорт переменных ssh_auth_sock="${XDG_RUNTIME_DIR}/SSH-агента.гнездо"

Обратите внимание, что в бывшей соответствует ${XDG_RUNTIME_DIR}в последнего.

Примечание: Я не в восторге от этого!

+393
TonyDi 28 янв. 2010 г., 22:04:53
$ Эхо AAAACE21 | е с/../\\X и/г'
\ХАА\ХАА\xCE\Х21

В СЭД, . означает любой символ, поэтому .. соответствует двум персонажам. Вы часто нужно типа \\ получить \, и & значит заменить то, что было подобрано.

То г расшифровывается как глобальные; то есть, сделать его максимально, насколько это возможно. Без этого, вы бы получили только первые два символа:

$ Эхо AAAACE21 | Е С/../\\Х&/'
\xAAAACE21
+316
user63132 8 мар. 2017 г., 10:25:25

Реализация туалет из GNU coreutils пытается оптимизировать ширину столбцов. Если вы ее пройдете только обычные файлы (будь то на стандартный ввод или по имени), он считывает каждую запись каталога для каждого файла, чтобы узнать размер файла, и он знает, что все числа это будет печатать меньше или равна сумме размеров файлов. С обычными файлами, туалет корректирует ширину столбца соответственно. Если хотя бы один из входных файлов не обычный файл, ГНУ туалет использует ширину по умолчанию 7 (который может оказаться слишком мал, так что вы получите много дополнительного пространства, или слишком большой, так что вы получите колонн невыровненные).

+306
ds261 15 февр. 2013 г., 10:58:12

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

$ СШ [email protected] /бин/Баш

Он всегда будет говорить: "эта учетная запись в настоящее время не доступен".. Но если я войду в машину и использовать 'Су'

$ Су почты -с /бин/Баш

Я могу стать пользователем электронной почты.

+141
Sho Andres 25 мар. 2010 г., 01:46:45

Если вы знаете, какие процессы записи файлов в этом каталоге, вы можете заморозить их помощью убить -сигнал sigstop <идентификатор процесса>, делать резервную копию а затем возобновить процессы убивать -когда посылающий <идентификатор процесса>.

+134
nicholaskkhrangtong 23 нояб. 2013 г., 19:27:59

Вы смешиваете здесь программного обеспечения.

tmux не имеет ничего общего с Баша или ЗШ или независимо от оболочки, которую вы используете. Вы должны смотреть на этой конкретной странице оболочку, а отключить эти привязки. Подробнее здесь: как я могу предотвратить tmux выхода по Ctrl-д?

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

Чтобы отключить контроль+Ы и контроля+г (потока управления клавиш) будут действовать до его закрытия -ixoff должно быть достаточно.

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

+99
ditnorj 18 февр. 2019 г., 05:16:29

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