Запитання з тегом «shell-script»

Запитання щодо скриптів оболонки, виконуваних файлів, які інтерпретуються оболонкою (bash, zsh тощо).

6
Пастка, ERR та повторення рядка помилки
Я намагаюся створити деякі повідомлення про помилки за допомогою Trap для виклику функції щодо всіх помилок: Trap "_func" ERR Чи можливо отримати, з якої лінії був відправлений сигнал ERR? Шкаралупа баш. Якщо я це роблю, я можу прочитати та повідомити, яка команда була використана, і ввійти / виконати деякі дії. …


5
Перевірте, чи $ REPLY знаходиться в діапазоні чисел
Я пишу сценарій оболонки для Linux, використовуючи Bash, щоб перевести будь-який відеофайл у формат MP4. Для цього я використовую avconvз libvorbisаудіо. Всередині мого сценарію у мене є запитання до користувача: read -p "- Audio Quality [scale from -2 to 10] ? " if [ -n "$REPLY" ] ; then ABITRATE="-aq …


8
Перевірте, чи є файли, що відповідають шаблону для виконання сценарію
Я намагаюся написати ifзаяву, щоб перевірити, чи є файли, що відповідають певній схемі. Якщо в каталозі є текстовий файл, він повинен запускати заданий сценарій. Мій код на даний момент: if [ -f /*.txt ]; then ./script fi Будь ласка, дайте кілька ідей; Я хочу запустити скрипт, лише якщо .txtв каталозі …

4
Вирівнювання вихідного сценарію оболонки Bash
Мій сценарій: date echo -e "${YELLOW}Network check${NC}\n\n" while read hostname do ping -c 1 "$hostname" > /dev/null 2>&1 && echo -e "Network $hostname : ${GREEN}Online${NC}" || echo -e "${GRAY}Network $hostname${NC} : ${RED}Offline${NC}" done < list.txt sleep 30 clear done Виводить інформацію таким чином: Network 10.x.xx.xxx : Online Network 10.x.xx.xxx : …

2
Як призначити виведення коду bash-сценарію змінної в іншому сценарії
У мене є bash-скрипт, який виробляє вихід кішок, коли він бере аргумент. У мене також є ще один bash-скрипт, який виконує перший скрипт bash з аргументом, з яким я хочу створювати кішкові результати. Як я можу зберігати ті виводи котів, які були отримані першим скриптом bash, у змінних?

7
Портативний спосіб отримати абсолютний шлях сценарію?
Який портативний спосіб для (zsh) скрипту визначити його абсолютний шлях? У Linux я використовую щось на кшталт mypath=$(readlink -f $0) ... але це не портативно. (Наприклад, readlinkДарвін не розпізнає -fпрапор, і не має жодного еквівалента.) (Також, readlinkдля цього, правда, досить незрозумілий вигляд.) Який більш портативний спосіб?

4
Як зробити тимчасовий файл в оперативній пам’яті?
У мене є сценарій, який передасть свій вихід |tee scriptnameYYMMDD.txt. Після кожного циклу циклу for, в якому генерується висновок, я зміню вміст файлу, tac scriptnameYYYYMMDD.txt > /var/www/html/logs/scriptname.txtщоб вивід журналу був видно у вікні браузера з останніми рядками вгорі. У мене буде декілька сценаріїв, які роблять це паралельно. Я намагаюся мінімізувати …

3
Використання sed для кольорового виводу з команди на solaris
У мене є ksh-скрипт, який повинен працювати як на Linux, так і на solaris. Я намагаюся розфарбувати вихід певних команд. Він працює на linux (конкретно RHEL6), але не на solaris (SunOS 5.10). Команда на linux (вихідний "тест" правильно пофарбований у червоний колір): [amartin@linuxbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' test Команда …

3
Що означає `{{(вихід 1); вихід 1; }; } `означає?
Я цитував наступний фрагмент коду, config.statusстворений користувачем configure. if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi У фрагменті …

5
Чому мені потрібно розміщувати "робити" в тому ж рядку, що і "за"?
1. Підсумок Я не розумію, навіщо мені потрібне правило E010 про базовий екстракт . 2. Деталі Я використовую басфат для зв'язування.sh файлів. Правило E010: робити не на тій же лінії, що і для for Базат: Правильно: #!/bin/bash for f in bash/*.sh; do sashacommand "$f" done Помилка: #!/bin/bash for f in …

11
Чому оболонка автоматично не фіксує "марне використання кота"? [зачинено]
Багато людей використовують однолінійки та скрипти, що містять код уздовж рядків cat "$MYFILE" | command1 | command2 > "$OUTPUT" Перший catчасто називають "марним використанням кота", оскільки технічно це вимагає запустити новий процес (часто /usr/bin/cat), коли цього можна було б уникнути, якби команда була < "$MYFILE" command1 | command2 > "$OUTPUT" …

1
Де продовження лінії баш після && та || задокументовано?
Я бачив цю конструкцію в сценаріях багато і сам її використовував, але мені непокоїть, що я не можу знайти її в документації. Приклад: [ -f file1 ] && [ -f file2 ] && echo "Both files exist." || echo "One or the other file doesn't exist." Це також можна зробити …

4
Обсяг локальних змінних у оболонках
Прочитавши 24.2. Локальні змінні , я вважав, що оголошення змінної varза допомогою ключового слова localозначає, що varзначення доступне лише в блоці коду, обмеженому фігурними дужками функції. Однак після запуску наступного прикладу, я виявив, що varтакож може бути доступна, і зчитуватися з функцій , що викликаються цього блоком коду - тобто …

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