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

Оболочка является интерфейсом командной строки Unix. Вы можете вводить команды в оболочке в интерактивном режиме или писать сценарии для автоматизации задач. Используйте этот тег для вопросов, относящихся к / bin / sh и большинству совместимых оболочек (ash, bash, ksh, zsh,…). Для сценариев оболочки с ошибками, пожалуйста, проверьте их в http://shellcheck.net перед публикацией здесь.

3
Как выполнить команду повторно с разными аргументами?
Я на Ubuntu. Я скопировал некоторые аргументы (разделенные символом новой строки), и я могу использовать xsel, чтобы распечатать их следующим образом $ xsel arg1 arg2 arg3 arg4 ... Теперь я хочу использовать каждый из этих аргументов для другой команды и выполнять эту команду столько раз, сколько есть аргументов. Так я …

6
Полусинхронная труба
Предположим, у меня есть следующая труба: a | b | c | d Как я могу ждать завершения c(или b) в shили bash? Это означает, что скрипт dможет запускаться в любое время (и его не нужно ждать), но cдля корректной работы требуется полный вывод из . Вариант использования предназначен difftoolдля …
11 bash  shell  pipe  fifo 

1
Очистите старые строки подсказки в bash, чтобы сэкономить пространство прокрутки
Моя терминальная тема была такой, Но я думал, что приглашение потратило столько времени. И позже мне пришла в голову мысль, что я могу очищать подсказку каждый раз, когда запускаю команду. Я использовал Bash, одним из решений является использование preexec_invoke_execфункции. Я использую следующую команду для очистки последних символов приглашения: echo -ne …
11 bash  shell  terminal  prompt 

3
Передайте несколько команд, чтобы собираться
flock -x -w 5 ~/counter.txt 'COUNTER=$(cat ~/counter.txt); echo $((COUNTER + 1)) > ~/counter.txt' Как бы я передал несколько команд, flockкак в примере выше? Насколько я понимаю, flockпринимает различные флаги (-x для исключительного, -w для тайм-аута), затем файл для блокировки, а затем команду для запуска. Я не уверен, как мне передать …

2
Порядок вывода с заменой процесса
Это то , что я обычно делаю , чтобы работать grepи wcна файл , без необходимости сканирования дважды <file.txt tee >(grep LITERAL) >(wc -l) >/dev/null Тем не менее, это дает EXEC LITERAL 32 иногда и 32 EXEC LITERAL в другие времена. (Выходные данные grepпредшествуют выходным wcданным в первом случае и …

4
Как безопасно «комбинировать» строки, напечатанные несколькими программами?
Предположим, я хочу выполнить несколько программ параллельно и объединить их результаты в один канал: sh -c ' (echo qqq; echo qqq2; echo qqq3)& (echo www; echo www2; echo www3)& (echo eee; echo eee2; echo eee3)& wait; wait; wait' Этот подход к оболочке хорошо работает в этом простом случае, но я …

3
Перенаправить вывод всех команд в файл, а не только последний
Я хочу добавить заголовок в файл с помощью echo, а затем использовать команду для создания остальной части файла. Это означает, что я буду использовать две отдельные команды. Как мне записать вывод обеих команд в файл с перенаправлением? я пробовал echo "header line" | cut -c 1-5 input_file > output_file echo …

2
Как называется функция оболочки `> (tee copyError.txt> & 2)`?
Мне нужно войти в stdout и stderr в лог-файлы, но только отображать сообщения об ошибках на экране. Я могу сделать это с: cp -rpv a/* b 1> copyLog.txt 2> >(tee copyError.txt >&2) Который я нашел где-то в сети. Я просто хочу знать, как эта >(tee copyError.txt >&2)вещь называется? Я не …
11 bash  shell 


5
Можно ли получить SMS / текстовое сообщение, когда процесс завершится или будет убит?
Существуют сценарии, которые будут отправлять электронную почту после завершения процесса сервера. Тем не менее, я не хочу проверять свою электронную почту так часто, чтобы посмотреть, закончилась ли работа. Поэтому я хотел бы получить SMS-сообщение. Мой вопрос похож на этот, просто обменивайтесь SMS со всеми вхождениями "электронной почты": есть ли программа, …

2
Расширение в кавычках и без кавычек
for i in $(xrandr); do echo "$i" ; done for i in "$(xrandr)"; do echo "$i"; done for i in "$(xrandr)"; do echo $i; done Я понимаю, почему 1 отличается от 2. Но почему 3 дает отличный результат от 2? Пожалуйста, объясните вывод тоже. Как цитаты работают на новых строках?

10
Bash способ проверить, если процесс уже работает в фоновом режиме (и пропустить повторное выполнение на основании этого)?
Могу ли я создать командную строку bash, которая запускает определенную команду, только если процесс еще не запущен (в фоновом режиме)? Как проверить *, если команда уже запущена? (так что я могу добавить следующую команду с &&промежуточным между ними, чтобы следующая выполнялась, только если первая верна). *: проверить, определить, обнаружить, узнать
11 bash  shell  process 

2
Подождите, пока окно X появится / исчезнет (в здравом смысле)
Внутри сценария оболочки мне нужно дождаться появления окна с заголовком, выполнить какое-либо действие, а затем дождаться его исчезновения и выполнить какое-либо другое действие. До вчерашнего дня у меня был этот простой код. Проблема в том, что диск не может быть переведен в состояние энергосбережения, пока скрипт остается запущенным, и это …
11 bash  shell  python  window 

2
Развернуть subshell перед его выполнением?
Я часто запускаю команды, используя подоболочки, и иногда мне хотелось бы расширить подоболочки, прежде чем я что-то запустил ... Таким образом, я мог проверить, что я делаю, и, возможно, отредактировать то, что должно произойти. Например, как я могу развернуть следующую командную строку перед ее запуском, чтобы я мог редактировать результаты …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.