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

19
Что означает $ {1: 0: 2} в этом контексте?

Я смотрю на код, показанный ниже, и он проверяет ввод, если аргументы строки / столбца начинаются с или -rили -c. Что ${1:0:2}значит в этом контексте? rowArgName="-r" colArgName="-c" if [ "${1:0:2}" != $rowArgName ] && [ "${1:0:2}" != $colArgName ] then echo $correctCmdMsg >&2 exit 1...

19
Доступ к переменной индекса массива из цикла сценария bash?

Я хочу получить доступ к переменной индекса массива во время цикла по массиву в моем сценарии оболочки bash. myscript.sh #!/bin/bash AR=('foo' 'bar' 'baz' 'bat') for i in ${AR[*]}; do echo $i done Результат приведенного выше сценария: foo bar baz bat Результат, который я ищу: 0 1 2 3 Как мне...

19
Как мне создать новый пустой файл в скрипте bash?

Я запускаю какой-нибудь сторонний скрипт на Perl, написанный так, что для выходного флага требуется выходной файл -o. К сожалению, для сценария требуется фактический файл, то есть пользователи должны создать пустой файл filename.txtс 0 байтами, а затем ввести этот пустой файл в командной строке...

19
echo [9876543210] отображает 1 4 5 6… почему?

Пожалуйста, объясните, почему 1 4 5 6 отображается для последних четырех эхо-операторов? Однажды я столкнулся с этим случайно, но теперь мне интересно, почему это происходит. Эти заявления работают, как и ожидалось (для меня). $ echo [ 9876543210 ] [ 9876543210 ] $ echo [237890] [237890] Эти...

19
Почему этот скрипт работает в терминале, а не из файла?

У меня есть этот сценарий оболочки, сохраненный в файле: он выполняет некоторые основные подстановки строк. #!/bin/sh html_file=$1 echo "html_file = $html_file" substr=.pdf pdf_file="${html_file/.html/.pdf}" echo "pdf_file = $pdf_file" Если я вставлю его в командную строку, он будет работать...

19
Тайна раскрытия вложенных скобок в Bash

Эта: $ echo {{a..c},{1..3}} производит это: a b c 1 2 3 Что приятно, но трудно объяснить, учитывая, что $ echo {a..c},{1..3} дает a,1 a,2 a,3 b,1 b,2 b,3 c,1 c,2 c,3 Это где-то задокументировано? Bash Reference не упоминает об этом (даже если у него есть пример , используя...

19
Как $ {! #} Работает в bash, чтобы получить последний аргумент командной строки?

Из Расширенного руководства по написанию сценариев, чтобы получить последний аргумент командной строки: Или: lastarg=${!#} это косвенная ссылка на $#переменную. Обратите внимание, что lastarg=${!$#}это не работает....

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

В скрипте Bash я пытаюсь сохранить параметры, которые я использую, rsyncв отдельной переменной. Это хорошо работает для простых опций (вроде --recursive), но у меня возникают проблемы с --exclude='.*': $ find source source source/.bar source/foo $ rsync -rnv --exclude='.*' source/ dest sending...

19
grep не выводит до EOF, если пропущен через cat

Учитывая этот минимальный пример ( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) он выводит, LINE 1а затем, через одну секунду, выводит LINE 2, как и ожидалось . Если мы передадим это grep LINE ( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) | grep LINE поведение такое же, как и в предыдущем случае,...

18
удалить дополнительное пространство листов из составного изображения (ImageMagick)?

У меня есть куча фотографий. Все они имеют одинаковую высоту, и я пытаюсь объединить их в составное изображение с помощью программы монтажа ImageMagick через Bash. Проблема в том, что по умолчанию размер плитки (одно изображение занимает одну плитку) равен изображению с наибольшими размерами....

18
Использование данных, прочитанных из канала, а не из файла в параметрах команды

По определению человека эта команда получает входные данные из файла. $ command -r FILENAME Предположим, что FILENAMEэто файл, содержащий список имен файлов, как это было сгенерировано с помощью ls > FILENAME. Как я могу вместо этого кормить команду результатом lsнепосредственно? В моей голове...

18
Полностью перезапустите Bash

Есть ли способ , чтобы полностью рестарт Bash и перезаряжания .bashrcи .profileи тому подобное? Я хотел бы убедиться, что мои изменения работали правильно после редактирования этих...

18
Почему долгая задержка после команды не найдена?

Часто, когда я неправильно набираю команду, такую ​​как ls (например, я нажимаю клавишу ВВОД, прежде чем набрать 's'), после появления на терминале большой задержки (~ 2 с): bash: l: command not found... Я могу понять причины подобной задержки после ввода неверного пароля, согласно Почему...

18
Diff несколько файлов, правда, если все не равны

У меня есть несколько файлов, я хочу убедиться, что все эти файлы имеют одинаковое содержимое. Какую командную строку я могу использовать, чтобы проверить это? Использование может быть что-то вроде: $ diffseveral file1 file2 file3 file4 Результат: All files equals ИЛИ Files are not all...

18
Объединить два списка при удалении дубликатов

У меня есть встроенная система Linux, использующая Busybox (OpenWRT) - поэтому команды ограничены. У меня есть два файла, которые выглядят так: первый файл aaaaaa bbbbbb cccccc mmmmmm nnnnnn второй файл mmmmmm nnnnnn yyyyyy zzzzzz Мне нужно объединить эти 2 списка в 1 файл и удалить дубликаты. У...

18
Как выполнить действие для всех файлов с определенным расширением в подпапках элегантным способом?

Моя текущая лучшая ставка: for i in $(find . -name *.jpg); do echo $i; done Проблема: не обрабатывает пробелы в именах файлов. Примечание: я также хотел бы графического способа сделать это, например, команду...

18
Как установить псевдоним для каждого каталога?

Предположим, у вас есть псевдоним go, но вы хотите, чтобы он делал разные вещи в разных каталогах? В одном каталоге он должен работать cmd1, а в другом -cmd2 Кстати, у меня уже есть псевдонимы для переключения на вышеуказанные каталоги, так возможно ли добавить goпсевдоним для fooпсевдонима? alias...

18
Как «человек» восстанавливает экран при выходе из программы?

Если я открываю справочную страницу программы наподобие catили ls, она печатает (может не подходящее слово) содержимое справочной страницы, а когда я нажимаю q, она показывает экран, как и перед вызовом manкоманды. Как происходит восстановление? Что стирает все, а затем печатает предыдущее...