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

444
Обработка всех аргументов, кроме первого (в скрипте bash)

У меня есть простой скрипт, где первый аргумент зарезервирован для имени файла, а все остальные необязательные аргументы должны быть переданы в другие части скрипта. С помощью Google я нашел эту вики , но она предоставила буквальный пример: echo "${@: -1}" Я не могу заставить что-нибудь еще...

443
Проверьте, содержит ли массив Bash значение

В Bash, какой самый простой способ проверить, содержит ли массив определенное значение? Изменить : С помощью ответов и комментариев, после некоторого тестирования, я придумал это: function contains() { local n=$# local value=${!n} for ((i=1;i < $#;i++)) { if [ "${!i}" == "${value}" ]; then echo...

441
Как объединить несколько строк с именами файлов в одну с пользовательским разделителем?

Я хотел бы объединить результат ls -1в одну строку и разделить его с тем, что я хочу. Есть ли какие-либо стандартные команды Linux, которые я могу использовать для достижения этой...

437
Рекурсивно искать файлы с определенным расширением

Я пытаюсь найти все файлы с определенным расширением в каталоге и его подкаталогах с помощью моего bash (последняя версия Ubuntu LTS). Вот что написано в файле скрипта: #!/bin/bash directory="/home/flip/Desktop" suffix="in" browsefolders () for i in "$1"/*; do echo "dir :$directory" echo "filename:...

437
Прерывание сценария оболочки, если какая-либо команда возвращает ненулевое значение?

У меня есть сценарий оболочки Bash, который вызывает ряд команд. Я хотел бы, чтобы скрипт оболочки автоматически завершал работу с возвращаемым значением 1, если какая-либо из команд возвращает ненулевое значение. Возможно ли это без явной проверки результата каждой команды? например dosomething1...

436
Git Bash очень медленно работает на Windows 7 x64

Я использовал Git на Windows и Ubuntu во время разработки небольшого проекта, часто переключаясь между ними. Проблема в том, что Git Bash постоянно становится медленным. Когда я говорю «медленно», я имею в виду, что выполнение cdзанимает от 8 до 25 секунд, gitкоманды запуска - от 5 до 20 секунд, а...

431
найти -exec с несколькими командами

Я пытаюсь использовать find -exec с несколькими командами без какого-либо успеха. Кто-нибудь знает, возможны ли такие команды, как следующие? find *.txt -exec echo "$(tail -1 '{}'),$(ls '{}')" \; По сути, я пытаюсь напечатать последнюю строку каждого текстового файла в текущем каталоге и...

429
Как обнулить последовательность целых чисел в bash, чтобы все они имели одинаковую ширину?

Мне нужно зациклить некоторые значения, for i in $(seq $first $last) do does something here done Для $firstи $lastмне нужно, чтобы он был фиксированной длины 5. Так что, если ввод 1, мне нужно добавить нули перед таким, чтобы он стал 00001. Это петли до 99999, например, но длина должна быть 5....

428
Длина строки в баш

Как получить длину строки, хранящейся в переменной, и присвоить ее другой переменной? myvar="some string" echo ${#myvar} # 11 Как установить другую переменную для вывода

424
Как получить пароль из сценария оболочки, не повторяя

У меня есть скрипт, который автоматизирует процесс, который требует доступа к системе, защищенной паролем. Доступ к системе осуществляется через программу командной строки, которая принимает пароль пользователя в качестве аргумента. Я хотел бы предложить пользователю ввести свой пароль, назначить...

421
Трубный выход и состояние захвата выхода в Bash

Я хочу , чтобы выполнить давно работающую команду в Bash, и оба захват его статуса выхода, и тройник его выхода. Итак, я делаю это: command | tee out.txt ST=$? Проблема в том, что переменная ST фиксирует состояние выхода команды, teeа не команды. Как я могу решить это? Обратите внимание, что...

413
Как добавить индикатор выполнения в сценарий оболочки?

При выполнении сценариев в bash или любой другой оболочке в * NIX при выполнении команды, которая займет более нескольких секунд, требуется индикатор выполнения. Например, копирование большого файла, открытие большого файла tar. Какими способами вы рекомендуете добавлять индикаторы выполнения в...

410
Использование getopts для обработки длинных и коротких параметров командной строки

Я хочу, чтобы с помощью моего сценария оболочки вызывались длинные и короткие формы параметров командной строки. Я знаю, что getoptsэто можно использовать, но, как и в Perl, я не смог сделать то же самое с shell. Любые идеи о том, как это можно сделать, чтобы я мог использовать такие параметры,...

410
Многострочная строка с дополнительным пробелом (сохраненный отступ)

Я хочу написать несколько предопределенных текстов в файл со следующим: text="this is line one\n this is line two\n this is line three" echo -e $text > filename Я ожидаю что-то вроде этого: this is line one this is line two this is line three Но получил это: this is line one this is line two...

407
Получить время выполнения программы в оболочке

Я хочу выполнить что-то в оболочке Linux в нескольких различных условиях и иметь возможность выводить время выполнения каждого выполнения. Я знаю, что мог бы написать Perl или Python-скрипт, который бы делал это, но есть ли способ сделать это в оболочке? (что случилось с...

404
Как выполнять команды монго через скрипты оболочки?

Я хочу выполнять mongoкоманды в сценарии оболочки, например, в сценарии test.sh: #!/bin/sh mongo myDbName db.mycollection.findOne() show collections Когда я выполняю этот скрипт через ./test.sh, тогда соединение с MongoDB установлено, но следующие команды не выполняются. Как выполнить другие...