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

11
В сценарии оболочки, как я могу (1) запустить команду в фоновом режиме (2) подождать x секунд (3) выполнить вторую команду во время выполнения этой команды?

Вот что мне нужно, чтобы это произошло: начать процесс А в фоновом режиме ждать х секунд начать процесс B на переднем плане Как я могу заставить ожидание случиться? Я вижу, что «сон», кажется, останавливает все, и я на самом деле не хочу «ждать», пока процесс А завершится полностью. Я видел циклы,...

11
Zsh не может вводить данные в терминал при передаче данных через stdin и stdout с помощью переменной команды с выводом tty

Системная информация: macOS Sierra 10.12.6 zsh 5.4.2 (x86_64-apple-darwin16.7.0) GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.3.0) Перейдите к ПРИМЕРАМ внизу, если вы хотите просто перейти к упрощенным примерам, которые я сделал. ПРИМЕЧАНИЕ: я не большой zshпользователь. Я искал...

11
Как анализируются аргументы удаленной командной строки ssh

Я видел вопросы и ответы о необходимости двойного экранирования аргументов для удаленных команд ssh. Мой вопрос: где и когда будет выполнен второй разбор? Если я запускаю следующее: $ ssh otherhost pstree -a -p Я вижу следующее в выводе: |-sshd,3736 | `-sshd,1102 | `-sshd,1109 | `-pstree,1112 -a -p...

11
Запуск сценария оболочки, когда «/ bin / sh» указывает на «/ bin / bash»

Я прочитал следующее в этом вопросе : bash поддерживает ключ --posix, что делает его более совместимым с POSIX. Он также пытается имитировать POSIX, если вызывается как sh . Выше цитата предполагает, что /bin/shэто ссылка, на которую указывает /bin/bash. Но я не совсем понимаю, что подразумевается...

11
Прочитать файл, ориентированный на строку, который может не заканчиваться символом новой строки

У меня есть файл с именем, /tmp/urlFileгде каждая строка представляет URL-адрес. Я пытаюсь прочитать из файла следующее: cat "/tmp/urlFile" | while read url do echo $url done Если последняя строка не заканчивается символом новой строки, эта строка не будет прочитана. Мне было интересно, почему?...

11
Как заставить Ctrl + C / Not / прерывать цикл while?

Учитывая этот цикл: while sleep 10s ; do something-that-runs-forever done Когда я нажимаю Ctrl + C, весь цикл while прерывается. Я хочу прервать процесс «что-то», пропустить 10 секунд, а затем перезапустить «что-то». Как сделать так, чтобы Ctrl + C влиял только на «что-то», а не на цикл while?...

11
Почему wc <<< «$ string» показывает длину в один байт больше, чем printf «$ string» | Туалет?

Случайно я обнаружил, что wcзначение по-разному зависит от того, как он получает информацию от bash: $ s='hello' $ wc -m <<<"$s" 6 $ wc -c <<<"$s" 6 $ printf '%s' "$s" | wc -m 5 $ printf '%s' "$s" | wc -c 5 Это - ИМХО сбивает с толку - поведение где-то задокументировано? Что...

11
Shell Script: создание переменной с параметрами внутри

У меня есть команда rsync со следующими параметрами: rsync -avz --{partial,stats,delete,exclude=".*"} Я хочу поместить эти параметры в переменную, чтобы использовать ее после в скрипте. Что-то вроде этого: #!/bin/bash VAR=rsync -avz --{partial,stats,delete,exclude=".*"} $VAR /dir1 /dir2 Я пробовал...

11
Невозможно создать временный файл для здесь-документа: В доступе отказано

[Примечание: этот похожий Q касается того же сообщения об ошибке bash. Это было отмечено дубликат этого другого Q . Но поскольку я нашел совершенно другой источник этой ошибки, я отвечу на свой вопрос ниже.] Эта ранее работающая строка сценария bash while ... do ... done <<< "$foo" однажды...

11
оболочка posix: вывод списка имен переменных среды (без значений)

Как posix-совместимый способ, который работает с несколькими реализациями, как я могу напечатать список в настоящее время определенной переменной среды без их значений? В некоторых реализациях (mksh, freebsd / bin / sh) простое использование exportподойдет: $ export FOO2 FOO Но для некоторых других...

11
Какова продолжительность жизни файлового дескриптора?

Как описано здесь , перенаправления используются open()для записи в файл. В оболочке есть внутренний (?) Файловый дескриптор, который затем используется при необходимости. Внутренний дескриптор создается на протяжении всего сценария или времени жизни оболочки? Разрушено ли оно через некоторое...

11
Неявный возврат в функции bash?

Скажем, у меня есть функция bash, например: gmx(){ echo "foo"; } будет ли эта функция неявно возвращать выходное значение echoкоманды, или необходимо использовать return? gmx(){ echo "foo"; return $? } Я предполагаю, что, как работает bash, состояние выхода последней команды функции bash - это то,...

11
Почему `time` отсутствует в руководстве по GNU Bash?

[fakename]$ help time time: time [-p] pipeline Report time consumed by pipeline's execution... Из этого, кажется, что timeвстроенный Bash. Однако я не могу найти описание этого на этой странице: https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html#Shell-Builtin-Commands ....

11
У Bash проблемы с производительностью при использовании списков аргументов?

Решено в bash 5.0 Фон Для справки (и понимания (и попыток избежать отрицательных голосов этот вопрос, кажется, привлекает)) я объясню путь, который привел меня к этой проблеме (ну, лучшее, что я могу вспомнить через два месяца). Предположим, вы выполняете некоторые тесты оболочки для списка...

11
Ловушка Ctrl + C для скрипта bash, но не для процесса, открытого в этом скрипте

Я пытался создать интерактивную программу в скрипте bash: my_program И я хочу иметь возможность закрыть его с помощью Ctrl + C. Но когда я это делаю, мой скрипт тоже закрывается. Я знаю о. trap '' 2 my_program trap 2 Но в этом случае я просто не могу закрыть my_programс помощью Ctrl + c. У вас есть...

11
Почему я не могу использовать переменные в качестве префикса команды для установки переменных среды?

Как правило, для команды можно установить переменную среды, добавив к ней префикс следующим образом: hello=hi bash -c 'echo $hello' Я также знаю, что мы можем использовать переменную для замены любой части вызова команды, например: $ cmd=bash $ $cmd -c "echo hi" # equivalent to bash -c "echo hi" Я...

11
Использование заключающих в скобки {} в качестве аргументов команд и их параметров

Примеры Недавно я нашел примеры использования пар заключающих в скобки паролей {}, между которыми нет открывающей и закрывающей скобок, в качестве аргументов команд и даже их параметров: cat foo | xargs -I{} echo {} find . -size 0 -exec rm -i {} \; Нет документации Моя проблема в том, что я не могу...

11
Почему pwd не принимает длинные опции, такие как --physical?

Когда я отображаю руководство для pwdкоманды, он говорит, что --physicalподдерживаются длинные опции, такие как $ man pwd PWD(1) User Commands PWD(1) NAME pwd - print name of current/working directory SYNOPSIS pwd [OPTION]... DESCRIPTION Print the full filename of the current working directory. -L,...

11
Скрипт Bash должен убивать только те экземпляры другого скрипта, которые он запустил

В текущей ситуации определенный сценарий call.sh запускает другой фоновый файл named.sh в фоновом режиме, выполняет другие операции, некоторое время бездействует, а затем завершает вызов файла named.sh с помощью a pkill called.sh. Это отлично работает. Затем, я также хотел бы запустить 'named.sh'...