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

Для вопросов о скриптах, написанных для командной оболочки Bash. Для сценариев оболочки с ошибками / синтаксическими ошибками, пожалуйста, проверьте их с помощью программы shellcheck (или на сервере веб-проверки оболочки по адресу https://shellcheck.net) перед размещением здесь. Вопросы об интерактивном использовании Bash, скорее всего, будут касаться темы Super User, а не переполнения стека.

3
Как я могу назначить вывод функции переменной с помощью bash?
У меня есть функция bash, которая производит некоторый вывод: function scan { echo "output" } Как я могу присвоить этот вывод переменной? т.е. VAR = сканирование (конечно, это не работает - это делает VAR равным строке "сканирование")

2
Пересылать объявления функций в сценарии Bash или Shell?
Есть ли такая вещь bashили, по крайней мере, что-то подобное (обходное решение), например, форвардные объявления, хорошо известные в C / C ++? Или есть такая штука, потому что например она всегда выполняется за один проход (строка за строкой)? Если нет форвардных объявлений, что мне делать, чтобы мой скрипт было легче …

11
Один скрипт для запуска как в пакетном режиме Windows, так и в Linux Bash?
Можно ли написать один файл сценария, который будет выполняться как в Windows (обрабатывается как .bat), так и в Linux (через Bash)? Я знаю базовый синтаксис обоих, но не понял. Вероятно, он мог использовать неясный синтаксис Bash или какой-то сбой пакетного процессора Windows. Команда для выполнения может быть просто одной строкой …
96 bash  batch-file 

5
Как выполнить скрипт bash построчно?
Если я введу параметр bash -x , он покажет всю строку. Но сценарий будет нормально выполняться. Как я могу выполнить построчно? Тогда я смогу увидеть, правильно ли он работает, или я прервусь и исправлю ошибку. Такой же эффект используется readв каждой строке.
96 bash 

13
Сценарий Bash для перехода в каталог с пробелами в имени пути
Я использую Bash в macOS X и хотел бы создать простой исполняемый файл сценария, который при запуске переходил бы в другой каталог. Однако в пути к этому каталогу есть пробелы. Как, черт возьми, ты это делаешь? Это то, что у меня есть ... Имя файла: cdcode Содержимое файла: cd ~/My …
96 bash  escaping 

10
Проверка параметров сценария Bash
Я придумал базовую, которая поможет автоматизировать процесс удаления ряда папок, когда они становятся ненужными. #!/bin/bash rm -rf ~/myfolder1/$1/anotherfolder rm -rf ~/myfolder2/$1/yetanotherfolder rm -rf ~/myfolder3/$1/thisisafolder Это вызывается так: ./myscript.sh <{id-number}> Проблема в том, что если вы забудете ввести id-number (как я только что сделал) , то это может потенциально удалить много …
96 validation  bash  shell 


4
Выйти из zsh, но оставить работающие вакансии открытыми?
Только что перешел с bash на zsh. В bash фоновые задачи продолжают выполняться после выхода из оболочки. Например, здесь dolphinпродолжается выполнение после exit: $ dolphin . ^Z [1]+ Stopped dolphin . $ bg [1]+ dolphin . & $ exit Это то, что я хочу по умолчанию. Напротив, поведение zsh состоит …
96 bash  zsh  jobs 

2
Получить первую строку вывода команды оболочки
Пытаясь прочитать номер версии vim, я получаю много дополнительных строк, которые мне нужно игнорировать. Я попытался прочитать руководство headи попробовал следующую команду: vim --version | head -n 1 Я хочу знать, правильный ли это подход?
96 linux  bash  shell 

9
Как переименовать с префиксом / суффиксом?
Как мне обойтись mv original.filename new.original.filenameбез повторного ввода исходного имени файла? Я мог бы представить, что смогу сделать что-то подобное, mv -p=new. original.filenameили, возможно, mv original.filename new.~или что-то еще, но я не вижу ничего подобного после просмотра man mv/ info mvpages. Конечно, я мог бы написать для этого сценарий оболочки, …
95 bash  rename  filenames  prefix  mv 

8
Проверьте, смонтирован ли каталог с помощью bash
Я использую mount -o bind /some/directory/here /foo/bar Я хочу проверить это /foo/barс помощью сценария bash и посмотреть, смонтирован ли он? Если нет, то вызовите указанную выше команду монтирования, иначе сделайте что-нибудь еще. Как я могу это сделать? CentOS - это операционная система.
95 linux  bash  centos  mount 

7
Как объединить две строки, чтобы построить полный путь
Я пытаюсь написать сценарий bash. В этом скрипте я хочу, чтобы пользователь ввел путь к каталогу. Затем я хочу добавить несколько строк в конец этой строки и построить путь к некоторым подкаталогам. Например, предположим, что пользователь вводит такую ​​строку: /home/user1/MyFolder Теперь я хочу создать в этом каталоге 2 подкаталога и …
95 linux  bash 

5
Bash set + x без его печати
Кто-нибудь знает, можем ли мы сказать set +xв bash без его печати: set -x command set +x следы + command + set +x но он должен просто напечатать + command Bash - это версия 4.1.10 (4). Это меня уже некоторое время беспокоит - вывод загроможден бесполезными set +xстроками, что делает …
95 bash  shell 

5
Как использовать переменную среды внутри строки в кавычках в Bash
Я пробовал различные формы следующего в сценарии bash: #!/bin/bash svn diff $@ --diff-cmd /usr/bin/diff -x "-y -w -p -W $COLUMNS" Но я не могу заставить синтаксис правильно расширять COLUMNSпеременную среды. Я пробовал различные формы следующего: svn diff $@ --diff-cmd /usr/bin/diff -x '-y -w -p -W $COLUMNS' а также svn diff …

5
Как правильно вложить обратные кавычки в Bash
Либо я пропустил некоторую обратную реакцию, либо обратная реакция, похоже, не работает со слишком большим циклом программиста-цитаты. $ echo "hello1-`echo hello2-\`echo hello3-\`echo hello4\`\``" hello1-hello2-hello3-echo hello4 Хотел hello1-hello2-hello3-hello4-hello5-hello6-...
95 bash  shell  unix  quoting 

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