Articles of bash

Зачем мне нужны фигурные скобки при использовании переменной в некоторых версиях sudo -i?

Рассмотрим следующую команду: sudo -i bash -c ‘A=2; echo “|${A}|”; echo “|$A|”;’ Когда я запускаю это на Debian Linux с bash 4.2.37 и sudo 1.8.5p2 он печатает: |2| |2| Но когда я запускаю его на MacOS High Sierra с bash 3.2.57 и sudo 1.8.17p1 он печатает: |2| || Почему не $A шоу без фигурных скобок? […]

Вернитесь к оболочке входа по умолчанию после запуска / bin / bash

При входе в систему приглашение отличается от того, что происходит после выполнения / bin / bash -bash-4.2$ exec bash bash-4.2$ Как мне получить – обратно перед башкой? Существуют определенные команды, такие как tcp dump, которые работают только в оригинальном -bash-4.2$ tcpdump -i port1 -w /home/user/$HOSTNAME-port1.pcap -c10000 -G300 tcpdump: WARNING: port1: no IPv4 address assigned tcpdump: […]

Правильно сбежать эхо -не

Я выводил команду echo -ne в файл в моем скрипте установки для HID USB-мыши. Вот скрипт, который запускается с правами root через /etc/rc.local при загрузке: #accidentally had a newline here idVendor # Linux Foundation echo 0x0104 > idProduct # Multifunction Composite Gadget echo 0x0100 > bcdDevice # v1.0.0 echo 0x0200 > bcdUSB # USB2 mkdir […]

Выйдите из сценария, если какое-либо утверждение не выполнено

Я использую вложенные операторы if в моем сценарии оболочки. Если какое-либо утверждение не выполняется, оно должно выйти из сценария без выполнения других разделов в сценарии. Я попытался использовать exit 1 и set -e . Я не могу использовать set -e как я использовал несколько операторов grep которые возвращали бы ненулевой статус. Может кто-нибудь, пожалуйста, помогите […]

Printf не может интерпретировать обратную косую черту и восклицательный знак

Я пишу Java-программу из терминала, используя printf и перенаправляю ее вывод в файл .java но printf не может интерпретировать горизонтальную вкладку обратной косой черты ( \t ), и когда у меня есть восклицательный знак (!) В строке, он не ‘ t даже печатать и не с этой ошибкой: bash: !”: event not found Как заставить […]

Вставка записей в скрипт bash

Любые отзывы будут оценены. Я хотел бы вставить IP-адрес, однако сценарий вставляет имя домена вместо IP. Имя файла: file.txt dns50.com: 1.1.1.1 dns51.com: 2.2.2.2 dns52.com: 3.3.3.3 Автор сценария: for x in `cat /root/file.txt | cut -d: -f1` ; do echo “ns1 14400 IN A $x” >> /var/named/$x.db done Вставленные данные при запуске скрипта about. файл: /var/named/dns50.com.db […]

Переместить файлы в соответствии с шаблоном соответствия

У меня есть несколько файлов, имя которых выглядит так: XXXXX_S1_X_XX_X.txt XXXXX_S2_X_XX_X.txt XXXXX_S3_X_XX_XXX.txt S4_X_XX_X.txt XXXXX_S5_XX_X.txt … Я создал список папок с именем: S1 , S2 , S3 , …. Я хотел бы переместить файл XXXXX_S1_X_XX_X.txt в папку S1 , файл XXXXX_S2_X_XX_X.txt в папку S2 и так далее. Я написал этот простой цикл, но я не знаю, […]

Перенаправление вывода подоболочки в процесс

Я пытаюсь выполнить скрипт в SSH и передать некоторые параметры этому скрипту. Я пробовал следующее, которое не сработало – значение не передается: $ LC_FOO=x ssh -o SendEnv=LC_FOO $HOST < myLongScript.sh Целевые хосты иногда очень строги и регулярно воссоздаются, поэтому менять настройки SSH на них бесполезно. Поэтому я пытаюсь прибегнуть к хитрости и передать значение в […]

сбросьте переменную и затем используйте ее значение

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

Как печатать только строки, которые отличаются от предыдущей строки в прямом эфире в Bash?

Скажем, например, что у меня есть скрипт, который выглядит так: while true do echo $randomvar done где вывод может выглядеть так: foo foo foo bar bar foo Что можно добавить после эха, чтобы вывод выглядел следующим образом ?: foo bar foo