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

28
Функции выполняются как подпроцессы в Bash?

В Advanced Bash-Scripting Guide , в примере 27-4 , 7-я строка снизу, я прочитал это: Функция выполняется как подпроцесс. Я сделал тест в Bash, и кажется, что приведенное выше утверждение неверно. Поиски на этом сайте, Bash Man, и моя поисковая система не проливают свет. У вас есть ответ и вы хотели...

28
Почему мне нужно поместить «do» в той же строке, что и «for»?

1. Резюме Я не понимаю, зачем мне правило E010 bashate . 2. Детали Я использую Bashate для Linting .shфайлов. Правило E010: делать не на той же линии, что и для for bashate: Правильный: #!/bin/bash for f in bash/*.sh; do sashacommand "$f" done Ошибка: #!/bin/bash for f in bash/*.sh do sashacommand...

27
Лучший способ принять варианты «Да» из командной строки

Юзабилити-тестирование сценария оболочки, которое я написал, показало, что у людей разные ожидания относительно того, как ответить на вопрос, который ожидал «да» в качестве ответа. См. Варианты в приведенном ниже примере кода. Конечно, должен быть лучший способ, что я придумал? Какова ваша читаемая...

27
Как читать из двух входных файлов, используя цикл while

Я хотел бы знать, есть ли какой-либо способ чтения из двух входных файлов во вложенном цикле while по одной строке за раз. Например, допустим, у меня есть два файла FileAи FileB. FiLea: [jaypal:~/Temp] cat filea this is File A line1 this is File A line2 this is File A line3 FILEB: [jaypal:~/Temp]...

27
Неправильно ли использовать CTRL + C для возврата в командную строку?

Этот вопрос был перенесен из-за сбоя сервера, потому что на него можно ответить в Unix & Linux Stack Exchange. Мигрировал 7 лет назад . Когда я использую tail -fи хочу вернуться в оболочку, я всегда использую CTRL+C. Или когда я набираю команду и испытываю желание прервать ее и начать заново,...

27
Как отсортировать строку, которая сочетается со строкой + цифрой, используя скрипт bash?

Это данные, которые я хочу отсортировать. Но sortобрабатывает число в строку, данные не сортируются, как я ожидал. / home / файлы / profile1 / home / файлы / profile10 / home / файлы / profile11 / home / файлы / profile12 / home / файлы / profile14 / home / файлы / profile15 / home / файлы /...

27
Автозаполнение Bash: сначала список файлов, а затем циклический переход по ним

Можно ли настроить bash таким образом, чтобы на первой вкладке автозаполнения он перечислял все возможные файлы, а на последующих - выбор? Оба варианта легко сделать по отдельности, и я мог бы связать их с разными клавишами, но вышеприведенное было бы идеально, но я не могу найти ничего об этом в...

27
Заставьте bash использовать внешнюю команду `time` вместо встроенной оболочки

Как сделать так, чтобы bash по умолчанию использовал ключевое слово time (/ usr / bin / time) вместо ключевого слова shell? which timeвозвращает /usr/bin/time type timeвозвращается time is a shell keyword Запуск time, очевидно, выполняет ключевое слово оболочки: $ time real 0m0.000s user 0m0.000s...

27
Переименуйте несколько файлов, используя скрипты Bash

Я хочу переименовать несколько файлов в одном каталоге, используя сценарии Bash. Имена файлов следующие: file2602201409853.p file0901201437404.p file0901201438761.p file1003201410069.p file2602201410180.p Я хочу переименовать в следующий формат: file2503201409853.p file2503201437404.p...

27
Почему нет команды оболочки для создания файлов?

Внимание, пожалуйста: Я не спрашиваю, как сделать файл из командной строки! Я использовал touchдля создания файлов в течение многих лет, не обращая внимания на то, что его основная цель заключается в другом. Если кто-то хочет создать файл из командной строки, существует так много возможностей:...

27
sudo: невозможно выполнить ./script.sh: нет такого файла или каталога

Я в тупике. У меня есть скрипт в моем /homeкаталоге, который является исполняемым: [user@server ~]$ ll total 4 -rwx------ 1 user user 2608 Jul 15 18:23 qa.sh Однако, когда я пытаюсь запустить его с sudoэтим, он говорит, что не может найти его: [user@server ~]$ sudo ./qa.sh [sudo] password for user:...

27
Проверьте длину переменной

Я должен проверить длину чтения переменной (мой сценарий ограничен пятью вставленными символами), я думаю о чем-то вроде этого: #!/bin/bash read string check=${#string} echo $check if [ $check -ge 5 ]; then echo "error" ; exit else echo "done" fi Есть ли более "элегантное"...

27
Правильное поведение ловушек EXIT и ERR при использовании `set -eu`

Я наблюдаю странное поведение при использовании set -e( errexit), set -u( nounset) вместе с ловушками ERR и EXIT. Они кажутся взаимосвязанными, поэтому разумно их объединить. 1) set -uне запускает ERR-ловушки Код: #!/bin/bash trap 'echo "ERR (rc: $?)"' ERR set -u echo ${UNSET_VAR} Ожидается: вызов...

27
Как я могу время трубы?

Я хочу timeкоманду, которая состоит из двух отдельных команд с одним выводом трубопровода к другому. Например, рассмотрим два сценария ниже: $ cat foo.sh #!/bin/sh sleep 4 $ cat bar.sh #!/bin/sh sleep 2 Теперь, как я могу timeсообщить о потраченном времени foo.sh | bar.sh(и да, я знаю, что канал...

27
Что означает «пока:;»?

Я знаю, что такое whileпетля. Тем не менее, я видел только это работает с: while [condition] while ![condition] while TRUE (infinite loop) Где утверждение whileдолжно быть либо TRUEили FALSE. Существует встроенная команда оболочки с именем :. Это описывается как фиктивная команда, которая ничего не...

26
запуск сценария с «. И с «источником»

Мне было интересно, если следующие два способа запуска сценария bash эквивалентны? . ./myScript.sh source myScript.sh Они оба запускают содержимое скрипта вместо того, чтобы запускать скрипт, т.е. не создают подоболочку для запуска скрипта?...

26
Инвертировать логическую переменную

Я хочу попробовать простой скрипт flag=false while !$flag do read x if [ "$x" -eq "true" ] then flag=true fi echo "${x} : ${flag}" done Но когда я запускаю его, если я набираю true, я увижу это x="true"и flag="true", но цикл не заканчивается. Что не так со сценарием? Как правильно инвертировать...