Запитання з тегом «bash»

Питання, характерні для Bourne Again SHell від GNU, на відміну від інших оболонок Bourne / POSIX. Для питань щодо оболонок Unix взагалі використовуйте тег / shell.

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

3
Як я можу запустити команду в bash після будь-якої зміни $ PWD?
zsh надає кілька приємних функцій гака , в тому числі chpwdдля запуску функції після зміни користувачем каталогів. # zsh only function greet() { echo 'hi'; } chpwd_functions+=("greet") cd .. # hi pushd # hi popd # hi Я намагаюся наслідувати це в баш. Обмеження: Він повинен працювати як в інтерактивних, …
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
Регулярне вираження, використовуючи \\ проти використання \
Чому grep e\\.g\\. <<< "this is an e.g. wow" і grep e\.g\. <<< "this is an e.g. wow" робити те саме? Якщо я додам третю косу рису, вона також має такий же результат. Але, як тільки я додаю четверту косу рису, вона більше не працює. Це пов'язане з питанням із …

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

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

4
Чи можу я посилатися на команду перед "&&" після "&&"
Не впевнений, як інакше сформулювати питання, але в основному я часто виявляю, що я виконую команду, як vagrantпіднести VM, а потім ssh в неї, як нижче: vagrant up && vagrant ssh Окрім написання власної функції чи сценарію, чи є спосіб "повторно використовувати" vagrantчастину у другій частині команди?
10 bash  zsh 

4
Чому я не можу `tail -f / proc / $ pid / fd / 1`?
Я написав простий сценарій, який echo-є його PID: #/bin/bash while true; do echo $$; sleep 0.5; done Я запускаю вказаний сценарій (він повторюється 3844знову) в одному терміналі і намагаюся tailдескриптор файлу в іншому: $ tail -f /proc/3844/fd/1 Він нічого не друкує на екран і зависає доти ^c. Чому? Крім того, …

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 Я б очікував, що вихід буде такий, як .. …
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 1; …


3
Змінні середовища не встановлюються, коли моя функція викликається в конвеєрі
У мене є така рекурсивна функція для встановлення змінних середовища: function par_set { PAR=$1 VAL=$2 if [ "" != "$1" ] then export ${PAR}=${VAL} echo ${PAR}=${VAL} shift shift par_set $* fi } Якщо я називаю це сам по собі, він обидва встановлює змінну і відлунює для stdout: $ par_set FN …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.