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

Вопросы, специфичные для GNU Bourne Again SHell, в отличие от других оболочек Bourne / POSIX. Для вопросов о оболочках Unix в целом используйте вместо этого тег / shell.

1
Отслеживание прогресса из фонового процесса без угона подсказки
Рассмотрим простой скрипт hello: #!/bin/bash echo 'hello world!' Теперь из bash, если я попытаюсь запустить это в фоновом режиме: $ hello & [1] 12345 $ hello world! █ <--- prompt is stuck here until I hit enter! [1]+ Done $ █ <--- prompt back to normal Что я бы предпочел …

3
Как добавить число в качестве аргумента командной строки?
Я пытаюсь добавить 1 номер из командной строки и один номер, как по умолчанию. Например: когда пользователь вводит число 50, скрипт добавляет 10 (по умолчанию). ./script 50 The sum of 50+ 10 is 60. Это то, что я до сих пор. echo -n "Please enter a number: " read number …
10 bash 

3
Как я могу запустить команду в bash после любого изменения в $ PWD?
zsh предоставляет несколько приятных функций ловушки , в том числе chpwdдля запуска функции после того, как пользователь меняет каталоги. # zsh only function greet() { echo 'hi'; } chpwd_functions+=("greet") cd .. # hi pushd # hi popd # hi Я пытаюсь подражать этому в bash. Ограничения: Он должен работать как …
10 bash  hook  pwd 

3
в Bash, как не включать лишние аргументы в псевдоним?
Я пытаюсь сделать что-то вроде alias ftp='echo do not use ftp. Use sftp instead.' просто так, ftpчтобы случайно не использовать. Но я заметил, что ftp abcd.com вызовет эхо команды do not use ftp. Use sftp instead. abcd.com потому что abcd.comпринято считать аргументом для echo. Есть ли способ сделать так, чтобы …
10 bash  alias  ftp  echo 

2
Добавлять переменную в стиле PATH без создания начального двоеточия, если не установлено
Мне нужно добавить каталог в PKG_CONFIG_PATH. Обычно я бы использовал стандарт export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:$(pyenv prefix)/lib/pkgconfig но PKG_CONFIG_PATHне было ранее установлено в моей системе. Следовательно, переменная начинается с :символа, который говорит ей сначала искать в текущем каталоге. Я не хочу этого. Я остановился на следующем, export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}$(pyenv prefix)/lib/pkgconfig но это только кажется …

4
Регулярное выражение с использованием \\ vs using \
Почему grep e\\.g\\. <<< "this is an e.g. wow" и grep e\.g\. <<< "this is an e.g. wow" сделать то же самое? Если я добавлю третью косую черту, это также даст тот же результат. НО, как только я добавляю четвертый слеш, он больше не работает. Это связано с вопросом из …

1
history - список только успешно выполненных команд
Мне интересно, если есть способ использовать команду истории, но только список команд, которые были выполнены успешно. Кроме того, будет ли способ перечислить те, которые привели к ошибкам? Я знаю, что каждая команда имеет статус выхода: 0- Успешное выполнение команды 1- Команда не выполнена из-за ошибки во время расширения или перенаправления, …

4
Могу ли я сослаться на команду перед '&&' после '&&'
Не уверен, как еще сформулировать вопрос, но в основном я часто запускаю команду, например, vagrantдля вызова виртуальной машины, а затем запускаю ssh, как показано ниже: vagrant up && vagrant ssh Если не считать написания моей собственной функции или сценария, есть ли способ «повторно» использовать vagrantчасть во второй части команды?
10 bash  zsh 

2
Почему источник выдает ошибку «невозможно выполнить двоичный файл»
У меня есть небольшой файл, который инициализирует tmuxсеанс, а затем создает несколько окон. После некоторой отладки и настройки все работало нормально, пока я не переименовал текстовый файл (с tmuxкомандами) из spamв xset: $ source xset bash: source: /usr/bin/xset: cannot execute binary file Я теперь переименовал файл обратно и source spamснова …
10 bash  shell 

4
Почему я не могу `tail -f / proc / $ pid / fd / 1`?
Я написал простой скрипт, который echo-es его PID: #/bin/bash while true; do echo $$; sleep 0.5; done Я запускаю указанный скрипт (он говорит 3844снова и снова) в одном терминале и пытаюсь tailиспользовать дескриптор файла в другом: $ tail -f /proc/3844/fd/1 Он ничего не выводит на экран и пока не зависает …

6
Скрипт для SSH и запуска команды не работает
Ниже приведен сценарий. Я хотел войти на несколько серверов и проверить версию ядра. #!/bin/bash #input server names line by line in server.txt cat server.txt | while read line do sshpass -p password ssh root@$line << EOF hostname uname -r EOF done Я ожидаю, что выходной, который идет как .. server1_hostname …
10 bash  shell-script  ssh 

4
Почему ветвь 'if [$ 1 = “1”] ”всегда выбирается, даже если $ 1 не равен 1?
У меня есть сценарий оболочки с именем «teleport.sh», как это: if [ $1="1" ]; then shift mv "$@" ~/lab/Sun elif [ $1="2" ]; then shift mv "$@" ~/lab/Moon elif [ $1="3" ]; then shift mv "$@" ~/lab/Earth fi Когда я выполню: sh teleport.sh 2 testfile Это testfileперемещено в ~/lab/Sunкаталог, что …
10 bash  shell  test 

5
Создание псевдонима для скрипта bash
Поэтому я попытался экспериментировать и создал aliasв .bashrc. Однако, когда я проверяю команду, я получаю: [rkahil@netmon3 ~]$ menu -bash: menu: command not found Вот что у меня в .bashrcфайле: # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions alias menu='./menuScript.sh' …
10 bash  alias 

1
Использование getopts для разбора опций после аргумента без опций
У меня есть скрипт bash, как показано ниже в файле nepleaks_upd.sh, который я хочу запустить как ./nepleaks_upd.sh bootstrap --branch off. Не могу заставить его взять --branch, но то, что он работает, это ./nepleaks_upd.sh bootstrap -b off. usage() { echo "Usage: $0 [prepare | up | down] [-b <on/off>]" 1>&2; exit …


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