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

13
Почему я не могу загрузить модули при выполнении моего bash-скрипта, а только при его получении?

Я использую модули для управления пакетами в моей системе, и я python/2.7.2установил их как модуль. У меня есть простой исполняемый файл Python, python_exe.pyкоторый я собираюсь вызывать из простого сценария «вождения» runit.sh. runit.shскрипт выглядит примерно так: #!/bin/bash module load...

13
Ошибка `ls` при удалении каталога

У меня есть две открытые оболочки. Первый находится в каталоге A. Во втором я удаляю каталог A, а затем воссоздаю его. Когда я возвращаюсь к первой оболочке и печатаю ls, вывод: ls: cannot open directory .: Stale file handle Почему? Я думал, что первая оболочка (та, которая осталась открытой в...

13
Является ли flock & exec безопасным в bash?

"Стандартный" фрагмент блокировки, который я видел, выглядит примерно так ... ( flock -n 200 || exit 1; # do stuff ) 200>program.lock Насколько безопасно (кажется, что тестирование говорит об этом) использовать execв этот момент? Будет ли подпроцесс сохранять блокировку? ( flock -n 200 || exit...

13
Все возможные комбинации символов и цифр

Поэтому я хочу создать все возможные комбинации строчных и прописных символов и цифр, которые могут составить 5-символьную строку. Возможности: a..z, A..Z и 0..9. Есть ли какой-нибудь элегантный способ сделать это в...

13
Неожиданное завершение Bash ~ на OS X

Я нажал ~TabTabна командную строку bash и получил неожиданный набор завершений. Сначала это выглядело как все люди в /Usersкаталоге, и многое другое. Затем я подумал, что это был обратный поиск людей с «домашними» каталогами /etc/passwordили, возможно, теми, которые были /var/empty- это кажется...

13
Вложенные кавычки в подоболочках

Скажем, я должен использовать кавычки для инкапсуляции вывода subshell, например: DATA="$(cat file.hex | xxd -r)" Но мне нужно вложить такие вещи, как: DATA="$(cat file.hex | xxd -r | tr -d \"$(cat trim.txt)\")" Я не могу использовать одинарные кавычки, потому что они не раскрывают переменные...

13
Как активировать Virtualenv при запуске скрипта Python?

Я хочу запланировать запуск сценария python с использованием cron на определенные даты, проблема в том, что для того, example.pyчтобы он работал, example-envнужно ли его активировать, есть ли способ заставить example.pyего активировать свою собственную virtualenv всякий раз, когда cron выполняет...

13
awk или sed в нижнем / верхнем регистре только один символ в строке?

Есть ли способ, как в верхнем / нижнем регистре только один символ в некоторой строке? Пример ввода: syslog_apr_24_30 syslog_mar_01_17 Желаемый вывод: syslog_Apr_24_30 syslog_Mar_01_17 Обратите внимание, пожалуйста, на верхний регистр начала месяца. Я пытался, awkно я не достаточно хорош, чтобы...

13
Как понять команду «cat> file_name << blah»?

В следующей команде cat берет содержимое here-doc и перенаправляет его в файл с именем conf: cat > conf << EOF var1="cat" var2="dog" var3="hamster" EOF Как понять порядок команд здесь? Есть ли bashпервые процессы все остальное (здесь-док часть) и в качестве последнего шага выглядит >...

13
Показать Spinner в ожидании завершения какого-либо процесса

Как я могу показать счетчик, пока командная строка не закончит работу? Другими словами, если я запускаю сценарий и хочу показать счетчик, когда этот сценарий запущен, и счетчик исчезает, когда сценарий завершает свою работу. Ниже приведен обычный код спиннера: i=1 sp="/-\|" echo -n ' ' while true...

13
Как мне прервать fc без выполнения команды?

Команда fc позволит визуально редактировать предыдущую команду. Если я передумал в редакторе, как мне остановить выполнение команды? В vim набираешь q! или q оба приводят к выполнению команды и CTRL-C тоже не работает. Это единственный вариант, чтобы удалить команду в редакторе, а затем...

13
Как увеличить локальную переменную в Bash?

Данные 1 \begin{document} 3 Код #!/bin/bash function getStart { local START="$(awk '/begin\{document\}/{ print NR; exit }' data.tex)" echo $START } START2=$(getStart) echo $START2 который возвращается, 2но я хочу 3. Я безуспешно изменяю конец этого ответа о том, как я могу добавить числа в сценарии...

13
Как отформатировать вывод даты с пробелами как переменную в скрипте?

Я хочу сделать dateкоманду с хорошим форматированием, как это: $ date +"%Y-%m-%d %H:%M:%S" 2015-09-17 16:51:58 Но я хочу сохранить это в переменной, чтобы я мог вызывать из скрипта так: echo "$(nice_date) [WARNING] etc etc" Однако это не работает $ nice_date="date +%Y-%m-%d %H:%M:%S" $ echo...

13
Bash Scripting эхо локально в функции

В скриптах bash я стараюсь держать свои переменные локальными для функций везде, где могу, а затем пропускаю то, что мне нужно, из функций, таких как ниже. #!/bin/bash function FUNCTION() { local LOCAL="value" echo "$LOCAL" # return this variable } GLOBAL=$(FUNCTION) echo "$GLOBAL" Но возможно ли...

13
Как по-разному отображать управляющие символы (^ C, ^ D, ^ [,…) в оболочке

Когда вы вводите управляющие символы в оболочке, они отображаются с использованием так называемой «каретки». Escape, например, записывается как ^[в каретной нотации. Мне нравится настраивать оболочку bash, чтобы она выглядела круто. Я, например, изменил мой PS1и PS2стал раскрашенным. Теперь я хочу,...

13
Как я могу получить этот скрипт для выхода из ошибки на основе результата цикла for?

У меня есть сценарий Bash, который использует set -o errexitтак, чтобы в случае ошибки весь сценарий выходил в точке сбоя. Сценарий запускает curlкоманду, которая иногда не может получить нужный файл - однако, когда это происходит, сценарий не завершается с ошибкой. Я добавил forцикл в сделать...

13
Есть ли способ получить URL из текущей вкладки в Google-Chrome?

Раньше я делал это на firefox с помощью команды python, но недавно что-то изменилось, и я больше не могу получить URL! Что раньше работало с Firefox: #!/bin/bash current_tab_num () { python2 <<< $'import json\nf = open("/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js",...

13
Оболочка допустимых символов имени функции

Использование расширенных символов Юникода (без сомнения) полезно для многих пользователей. Простые оболочки (ash (busybox), dash) и ksh не работают с: tést() { echo 34; } tést Но bash , mksh , lksh и zsh, кажется, позволяют это. Мне известно, что действительные имена функций POSIX используют это...