Вопросы с тегом «bash»

13
Что проверяет [-t 1]?

Я только что нашел способ начать, zshкогда я запускаю bashна Windows из https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/ . Рекомендуется добавить следующий код в конце .bashrc. # Launch Zsh if [ -t 1 ]; then exec zsh fi Что [ -t 1 ]значит? Это правда? Тогда я могу...

13
Как вы определяете, экспортируются ли переменные оболочки или нет?

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

13
Почему я получаю строку 1: $ ': \ r': команда не найдена?

Я использовал Cygwin на своем ноутбуке (DOS). У меня есть коллекция сценариев от моих коллег и мои собственные. Я не айтишник, не разбираюсь в Unix. Я следую синтаксису моих коллег и могу управлять несколькими простыми вещами. Скрипты хорошо работали на моем старом ноутбуке. Я только что поменял...

13
Bash, если команда не заканчивается в X раз?

Я пытаюсь запустить что-то вроде: sudo dhclient $wifi || otherFunction Проблема в том, что когда происходит dhclientсбой, он просто зависает, а не выдает ошибку. Как я могу переписать вышесказанное, чтобы dhclientего убили и otherFunctionвызвали, если dhclientон не закончил через 60...

13
Как остановить Bash от интерпретации восьмеричного кода вместо целого?

Я пишу RSS-сценарий Horoscope в качестве вступления к проекту Unix / Linux и столкнулся с проблемой, которую мой профессор не мог исправить за то время, когда я смог остаться после занятий. Поскольку я не мог понять, как использовать фактические даты для проверки, я решил попробовать основную...

13
bash extended glob - сопоставлять файлы без префикса

Я пытаюсь сопоставить имена файлов для fail2ban-тюрьмы - поэтому мне нужно использовать только глобализацию имен файлов - а не регулярные выражения или сценарии bash. Мой /var/log/apache2каталог содержит файлы, в том числе: example.com.error.log db.example.com.error.log app1.example.com.error.log...

13
Как использовать Bash для sh в Ubuntu

Я устанавливаю огромную программу, которая имеет свои ресурсы в виде rpmфайла. Это застряло на линии #!/bin/sh SCITEGICPERLBIN=`dirname $0` SCITEGICPERLHOME=`dirname $SCITEGICPERLBIN` if [ $SCITEGICPERLHOME == "." ] Видимо, в Red Hat Linux shработают bashс этим синтаксисом, но он выдает ошибку...

13
Bash цикл по списку строк

Можно ли отформатировать этот образец: for i in string1 string2 stringN do echo $i done к чему-то похожему на это: for i in string1 string2 stringN do echo $i done РЕДАКТИРОВАТЬ: Извините за путаницу, не понимал, что были разные методы выполнения сценария - sh <scriptname>против bash...

13
Можно ли распечатать содержимое содержимого переменной с помощью сценария оболочки? (косвенная ссылка)

Предположим, я объявил следующие переменные: $ var='$test' $ test="my string" Если я распечатаю их содержимое, я вижу следующее: $ echo $var $test $ echo $test my string Я хотел бы найти способ напечатать содержание содержимого $var(которое является содержанием $test). Поэтому я попытался сделать...

13
Как я могу получить pid subshell?

Как я могу получить pid subshell? Например: $ echo $$ 16808 Это не работает, потому что оригинальная оболочка расширяется $$: $ ( echo $$ ) 16808 Почему одинарные кавычки не работают? После того, как исходная оболочка удаляет одинарную кавычку, не расширяется ли подоболочка $$? $ ( echo '$$' ) $$...

13
Автоматическое расширение переменной внутри команды bash [[]]

При разыменовании переменной в bash, вы должны использовать $знак. Тем не менее, кажется, что следующее работает просто отлично: x=5 [[ x -gt 2 ]] Кто-нибудь может объяснить это? Редактировать: (подробнее) Я имею в виду, как и почему команда [[]] разыменовывает мою переменную x без знака $. И да,...

13
Исполняемый файл с именем 'test' находится в $ PATH, но не запускается

У меня есть файл в $ HOME / bin (перед тем, как вы спросите, да, он находится в моем пути), testкоторый, как я подтвердил, может нормально выполняться, когда я запускаю его с полным путем к файлу. Тем не менее, я получаю действительно странную проблему, когда не запускаю ее таким образом. Когда я...

13
Какова структура данных $ @ в оболочке?

Мы обычно используем $@для представления всех аргументов, кроме $ 0. Однако я не знаю, что такое структура данных $@. Почему $*при включении в двойные кавычки он ведет себя иначе , может кто-нибудь дать мне объяснение на уровне переводчика? Его можно повторять в цикле for, поэтому он выглядит как...

13
Что произойдет, если я начну слишком много фоновых заданий?

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

13
Почему <или> требуется использовать / dev / tcp

При попытке позвонить /dev/tcp/www.google.com/80, набрав /dev/tcp/www.google.com/80 Баш говорит no such file or directory. При просмотре кода других людей в Интернете они используют такой синтаксис, как 3<>/dev/tcp/www.google.com/80 Я заметил, что это работает также:...

13
Как защитить функцию bash от переопределения?

В bashоболочке мы можем определить функцию fс f(){ echo Hello; } а затем повторно объявить / переопределить его, без каких-либо сообщений об ошибках или предупреждений, с помощью f(){ echo Bye; } Я считаю, что есть способ защитить функции от переопределения таким...

12
Запускать скрипт через cron каждую неделю

Я провел немало исследований о том, как это сделать, и вижу, что в cron нет прямого способа запустить работу, скажем, каждый второй четверг. Прямо сейчас я склоняюсь к созданию сценария, который будет запускаться каждую неделю и будет касаться файла «flag» при его запуске , и, если он запущен и...

12
Удаленный цикл по SSH

У меня есть следующее в сценарии for server in ${servers[@]}; do echo ${server} ssh user@${server} "for i in /tmp/foo* ; do echo ${i}; done" done Но это не работает. Странная вещь, я вижу $ I количество возвращаемых строк. Итак, если у меня есть десять файлов, я вижу десять пустых...