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

Для запитань щодо сценаріїв, написаних для командної оболонки Bash. Для скриптів оболонки з помилками / синтаксичними помилками, будь ласка, перевірте їх у програмі shellcheck (або на веб-сервері шелчек за адресою https://shellcheck.net) перед публікацією тут. Питання щодо інтерактивного використання Bash, швидше за все, будуть теми на Super User, ніж на переповнення стека.

11
Як видалити всі пробіли з даного текстового файлу
Я хочу видалити всі пробіли з даного текстового файлу. Чи доступна якась команда оболонки для цього? Або, як використовувати sedдля цієї мети. Я хочу щось подібне нижче: $ cat hello.txt | sed .... Я спробував це: cat hello.txt | sed 's/ //g'.Але воно видаляє лише пробіли, а не вкладки.
81 linux  bash  sed 


10
Зупиніть і видаліть контейнер докера, якщо він запущений
Я прагну практично зупинити та видалити контейнер докера, якщо він запущений. Це для сценарію збірки. Візьмемо такий приклад. Як зупинити та видалити контейнер докера "rabbitmq", як показано в стовпці НАЗВИ у сценарії bash? docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9909a5e2856f rabbitmq-image "/docker-entrypoint.s" 11 minutes ago Up …

3
Як використовувати шаблони у виписці справи?
На manсторінці сказано, що в caseінструкціях використовується "відповідність шаблону розширення імені файлу". Зазвичай я хочу мати короткі імена для деяких параметрів, тому я йду: case $1 in req|reqs|requirements) TASK="Functional Requirements";; met|meet|meetings) TASK="Meetings with the client";; esac logTimeSpentIn "$TASK" Я пробував шаблони типу req*або me{e,}tякі, як я розумію, правильно розширюватимуться, щоб …

6
Запускайте паралельно кілька команд одночасно в одному терміналі
Я хочу запустити кілька команд, кожна з яких не виходить, доки не буде натиснуто Ctrl-C. Чи є щось, що я можу запустити, щоб запустити їх усіх відразу, і Ctrl-C вийде з них усіх? Вони можуть спільно використовувати вихід терміналу. Зокрема, у мене є компілятор компаса, компілятор coffeescript та спеціальна команда, …
81 linux  bash 

11
автоматизація сеансу telnet за допомогою скриптів bash
Я працюю над автоматизацією деяких завдань, пов'язаних з telnet, за допомогою скриптів Bash. Після автоматизації не буде взаємодії користувача з telnet. (тобто це буде повністю автоматизовано) сценарії виглядає приблизно так: # execute some commands on the local system # access a remote system with an IP address: 10.1.1.1 (for example) …
80 linux  bash  telnet 

12
Найшвидший grep
Заблоковано . Це запитання та відповіді на нього заблоковані, оскільки це питання не стосується теми, але має історичне значення. Наразі він не приймає нових відповідей або взаємодій. Я хотів би знати, чи є якісь підказки, щоб зробити grepце якомога швидше. Я маю досить велику базу текстових файлів для найшвидшого пошуку. …
80 bash  unix  grep 

3
Як отримати лише перші десять байт двійкового файлу
Я пишу скрипт bash, який повинен отримати заголовок (перші 10 байт) файлу, а потім в іншому розділі отримати все, крім перших 10 байт. Це двійкові файли, які, ймовірно, матимуть символи \0'і \n' протягом перших 10 байт. Здається, що більшість утиліт працюють з файлами ASCII. Який хороший спосіб досягти цього завдання?
80 bash  binary 


4
Bash Shell Script - Перевірте прапор і захопіть його значення
Я намагаюся зробити сценарій оболонки, який призначений для запуску таким чином: script.sh -t application По-перше, у своєму сценарії я хочу перевірити, чи сценарій не запускався з прапором -t. Наприклад, якщо він був запущений без такого прапора, я хочу, щоб він помилився: script.sh По-друге, припускаючи, що є прапор -t, я хочу …
80 linux  bash  shell  debian 

14
Як мені позначити час кожного результату пінгу?
Ping повертає це за замовчуванням: 64 bytes from 203.173.50.132: icmp_seq=0 ttl=244 time=57.746 ms Чи є спосіб отримати його для додавання позначки часу? Наприклад, Mon 21 May 2012 15:15:37 EST | 64 bytes from 203.173.50.132: icmp_seq=0 ttl=244 time=57.746 ms Я на OS X v10.7 (Lion), яка, здається, має певну версію ping …
80 bash  osx-lion  ping  bsd 

2
як змусити curl виводити лише тіло відповіді http (json) і ніяких інших заголовків тощо
Я використовую curl у скрипті bash для отримання відповіді служби, як показано нижче, response=$(curl -isb -H "Accept: application/json" "http://host:8080/some/resource") Відповідь служби має тип json, і у браузері я міг би чудово відповісти. Однак відповідь curl має і інші небажані речі (наприклад, cookie set, заголовок довжини вмісту в цьому випадку), і …
80 json  bash  curl 

6
Ітераціюйте над двома масивами одночасно в bash
У мене два масиви. array=( Vietnam Germany Argentina ) array2=( Asia Europe America ) Я хочу виконати цикл по цих двох масивах одночасно, тобто викликати команду для перших елементів двох масивів, потім викликати ту саму команду для других елементів тощо. Псевдокод: for c in ${array[*]} do echo -e " $c …
80 arrays  bash  loops 

6
bash echo кількість рядків файлу, вказаних у змінній bash без імені файлу
У мене є такі три конструкції в сценарії bash: NUMOFLINES=$(wc -l $JAVA_TAGS_FILE) echo $NUMOFLINES" lines" echo $(wc -l $JAVA_TAGS_FILE)" lines" echo "$(wc -l $JAVA_TAGS_FILE) lines" І вони обидва видають однакові результати при запуску сценарію: 121711 /home/slash/.java_base.tag lines 121711 /home/slash/.java_base.tag lines 121711 /home/slash/.java_base.tag lines Тобто ім'я файлу також повторюється (що я …
79 bash  wc 

10
Використовуючи історію Bash, щоб отримати попередню команду, скопіюйте її, а потім "запустіть", але з коментарем команди
Просто питання для вдосконалення моїх bashнавичок. Я завжди роблю це: $ history | grep some_long_command ... ... 123 some_long_command1......... 124 some_long_command2......... ... Потім я можу запустити команду, яку я знайшов, виконавши: !123 Однак я часто хочу зробити це: some_long_command1foobar Тобто змініть команду перед тим, як її запустити. Чи можете ви …

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