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

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


3
Що означає $ {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 fi


2
Як ls без рекурсивного
Я намагаюся знайти деякі файли з візерунком у каталозі. Я хочу лише сканувати перший рівень не рекурсивно. Мій сценарій: for i in $(ls $INCOMINGDIR/*$BUSSINESSDATE*) do echo $i; done Вище сканування команди рекурсивно. Як зробити це лише для сканування каталогу першого рівня?
19 bash  shell-script  ls 

9
Перевірте, чи встановлено кілька змінних
Я хотів би переконатися, що в певний момент сценарію після sourceфайлу конфігурації встановлюється кілька змінних і, якщо їх немає, припинити виконання, повідомивши користувачеві про відсутню змінну. я намагався for var in $one $two $three ; do ... але якщо, наприклад $two, не встановлено, цикл ніколи не виконується $two. Наступне, що …

8
Уникаючи зайнятого очікування в баш, без команди сну
Я знаю, що можу чекати, коли умова стане справжньою в баші, роблячи: while true; do test_condition && break sleep 1 done Але це створює 1 підпроцес при кожній ітерації (сон). Я міг би їх уникнути, роблячи: while true; do test_condition && break done Але він використовує багато процесора (зайнятий в …


2
Як перевірити, чи існує програма в $ PATH?
Я намагаюся написати всі мої shсценарії startup / env для роботи з якомога більше DRY і стільки ж: "працює над кожним * nix, до якого я його клоную". Це означає переконатися, що якщо я спробую запустити код, якого немає, код вийде вишукано. З цією метою мені потрібно мати можливість перевірити, …

6
Запуск команди на багатьох файлах
У мене є папка з багатьма файлами (xyz1, xyz2, аж до xyz5025), і мені потрібно запустити сценарій на кожному з них, отримуючи xyz1.faa, xyz2.faa тощо, як вихідні дані. Команда для одного файлу: ./transeq xyz1 xyz1.faa -table 11 Чи є спосіб зробити це автоматично? Може бути комбо для завдань?

4
Це розумний підхід до "резервного копіювання" змінної $ IFS?
Я завжди дійсно вагаюся з $IFSтим, що це - глобалізація. Але часто це робить завантаження рядків у масив bash приємним і стислим, а для сценаріїв bash, стислість важко підійти. Тому я вважаю, що це може бути краще, ніж нічого, якщо я спробую "зберегти" початковий вміст $IFSдо іншої змінної, а потім …

8
Виклик декількох скриптів bash та запуск їх паралельно, а не послідовно
Припустимо , що у мене є три (або більше) Баш сценаріїв: script1.sh, script2.shі script3.sh. Я хотів би зателефонувати всім цим сценаріям і запустити їх паралельно . Один із способів зробити це - просто виконати такі команди: nohup bash script1.sh & nohup bash script2.sh & nohup bash script3.sh & (Як правило, …

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


2
Придушити вихід, якщо не нульовий код виходу
Який найкращий спосіб придушити вихід (stdout і stderr), якщо програма не завершиться з ненульовим кодом? Я маю на увазі: quiet_success() { file=$(mktemp) if ! "$@" > "$file" 2>&1; then cat "$file" fi rm -f "$file" } І біжи, quiet_success my_long_noisy_script.shале я не впевнений, чи є кращий спосіб. Я відчуваю, що …

6
знайти максимальне значення стовпця 1 та надрукувати відповідний запис із стовпця 2 з файлу
Як знайти максимальне значення зі стовпця 1 та відобразити відповідне місце розташування у файлі, який містить n кількість записів. $ cat version.log 112030 /opt/oracle/app/oracle/product/11.2.0 121010 /opt/oracle/app/oracle/product/12.1.0 Очікуваний вихід: /opt/oracle/app/oracle/product/12.1.0

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