Запитання з тегом «bash-scripting»

Сценарій Bash - це створення сценаріїв мовою оболонки Bash.


8
Придушити слід виконання команди echo?
Я запускаю сценарії оболонки від Дженкінса, яка розпочинає сценарії оболонки з параметрами shebang #!/bin/sh -ex. За словами Баша Шебанга для манекенів? , -x«Змушує оболонку надрукувати трасування виконання», який відмінно підходить для більшості цілей - за винятком луні: echo "Message" виробляє вихід + echo "Message" Message що трохи зайве і виглядає …

3
ZSH: Команда читання не вдається в межах функції bash "read: 1: -p: немає coprocess"
Редагувати: Здається, працює всередині bash. Здається, проблема пов’язана zsh. Якщо є кращий сайт для розміщення цього питання, дайте мені знати. Я пишу простий сценарій, який створює низку каталогів. Я хочу, щоб користувач надавав підтвердження до цього. Я використовую наступне як основу, але, здається, не можу змусити його працювати в рамках …

3
Як оновити bash на Mac OS X Yosemite
Просто намагаюся трохи навчитися писати сценарії. Моя стара версія bash: Bash version 3.2.53(1)-release... Я оновив свій баш на mac os x yosemite домашньою мовою: brew update brew install bash Потім у властивостях терміналу я змінив стандартний шлях /bin/bashдо оболонки з на /usr/local/bin/bash(Як я розумію, саме тут домівка встановлює оновлений bash). …

2
Як я можу порівняти змінну з текстовим рядком, а не цілим числом, у операторі if / else?
У процесі написання сценарію оболонки я зіткнувся з проблемою із наступним твердженням if / else, яке потрапляє десь посередині скрипту: if [ $act -eq "add" ] then read - "add or update: " $comm git commit -m "$comm $file" else git commit -m "$act $file" fi Помилка повернення: ./gitup: line …

3
Передача двох аргументів команді за допомогою труб
Зазвичай нам потрібно передати лише один аргумент: echo abc | cat echo abc | cat some_file - echo abc | cat - some_file Чи є спосіб передати два аргументи? Щось на зразок {echo abc , echo xyz} | cat cat `echo abc` `echo xyz` Я міг би спочатку зберігати обидва …

1
Bash: необов'язково передача аргументів команді
Я намагаюся додати аргументи до виклику команди залежать від іншої змінної. Перегляньте код сценарію оболонки: curl \ $([ -z "${title}" ] || echo --data-urlencode title=${title}) \ http://example.com У прикладі, якщо titleвін вказаний недійсним, до нього буде додано аргумент curl. Це не працює правильно, якщо titleмістить пробіли. Крім того, я не …

4
Чи безпечно відкривати файл, який записується запущеним сценарієм?
Я запускаю скрипт оболонки, який записується у файл. Цей сценарій може зайняти багато часу, і я хотів би стежити за частковим результатом, а не чекати, коли весь сценарій закінчиться. Чи безпечно відкрити (подвійне клацання) файл, який пише сценарій?

2
Написання скриптів оболонок, які працюватимуть на будь-якій оболонці (використовуючи кілька рядків shebang?)
Я щойно почав заглиблюватися в сценарій оболонки, і завжди просто кидав свій скрипт у файл, відзначав його, chmod +xа потім робив /path/to/script.shі нехай будь-який інтерпретатор за замовчуванням має свій шлях до нього, що я вважав, що це zsh, тому що це Я використовував для своєї оболонки. Мабуть, здається, що це …

2
Префікс до кожного виходу команди під час виконання
Я намагаюся зробити модульний сценарій. У мене є кілька скриптів / команд, які викликаються з одного сценарію. Я хочу встановити вивід кожної окремої команди. Приклад: Мої файли - це allcommands.sh / command1.sh / command2.sh команда1.sh виводить file exists file moved команда2.sh виводить file copied file emptied allcommands.sh запускає сценарії command1.sh …


2
Належне уникнення косої риски в баш-скрипті для використання з sed
Я намагаюся визначити розмір файлів, які були б знову скопійовані при синхронізації двох папок, запустивши rsync в сухому режимі, а потім підсумувати розміри файлів, перелічених у висновку rsync. Наразі я застряг у префіксації файлів їх батьківською папкою. Я дізнався, як префікс рядків за допомогою sed і як уникнути використання sed, …

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

2
bash завершення для шаблонів імен файлів або каталогів
Я намагаюся налаштувати скрипт для завершення башти і маю деякі проблеми. Я хотів би налаштувати його, щоб перераховані доповнення були або файлами, що відповідають певному розширенню, або каталоги (які можуть містити або не містити файли цього розширення). Проблема, яка у мене виникає, полягає в тому, що єдиний спосіб я можу …

2
Як отримати повний шлях до цілі посилання
Якщо у мене є символічне посилання, /var/opt/fooстворене за допомогою ln -fs /path/to/target/dir foo. Як я можу отримати сценарій, який бачить лише посилання /path/to/target/dir? Те, що я хочу досягти в сценарії, - це rm -rf /path/to/target/dirперш ніж зробити ln -fs /path/to/another/dir foo.

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