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

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

3
Забороніть автоматичні EOF у названій трубі та надсилайте EOF, коли я цього хочу
У мене є програма, яка автоматично закривається після зчитування EOF у заданому потоці (у наступному випадку, stdin). Тепер я хочу зробити скрипт оболонки, який створює іменовану трубку і підключає stdin програми до неї. Потім сценарій записує в трубу кілька разів, використовуючи echoі cat(та інші інструменти, які автоматично генерують EOF при …

10
Видаліть усі повторювані слова з рядка за допомогою скрипта оболонки
У мене є така струна "aaa,aaa,aaa,bbb,bbb,ccc,bbb,ccc" Я хочу видалити дублікат слова з рядка, тоді вихід буде подібний "aaa,bbb,ccc" Я спробував цей код Джерело $ echo "zebra ant spider spider ant zebra ant" | xargs -n1 | sort -u | xargs Це добре працює з однаковим значенням, але коли я даю …

4
Чи можна змінити файл yml за допомогою скрипту оболонки?
Так виглядає мій docker-compose.yml. nginx: container_name: 'nginx' image: 'nginx:1.11' restart: 'always' ports: - '80:80' - '443:443' volumes: - '/opt/nginx/conf.d:/etc/nginx/conf.d:ro' links: - 'anything' Тепер мені потрібно додати деякий вміст за допомогою скрипту оболонки (на сервері ubuntu). Я не зовсім впевнений, чи можливо це взагалі: Додайте новий елемент nginx/links, якщо він не …

3
Як встановити сценарій для виконання, коли порт отримує повідомлення
Мені цікаво, як отримати скрипт оболонки для прослуховування на певному порті (можливо, за допомогою netcat?). Будемо сподіватися, що коли повідомлення буде надіслане на цей порт, сценарій записує повідомлення, а потім виконує функцію. Приклад: Комп'ютер 1 має сценарій, що працює у фоновому режимі, сценарій відкрив порт 1234 для вхідного трафіку Комп'ютер …

2
Офіційний стандарт / умова на розширення файлу для скриптів оболонки до джерела
Мені було цікаво, чи існує угода про розширення типу файлів для скриптів оболонки, які ви бажаєте джерелом замість запуску. Наприклад: Якщо я хочу запустити цей скрипт у передпласті. ./script.sh Якщо я хочу згадати, запустити цей скрипт із поточної оболонки. . script.source Чи існує умова (як, наприклад, POSIX) для файлів у …


2
Тест на підтримку масиву по оболонці
Чи існує стислий спосіб тестування підтримки масиву локальною оболонкою Bourne в командному рядку? Це завжди можливо: $ arr=(0 1 2 3);if [ "${arr[2]}" != 2 ];then echo "No array support";fi або тестування для $SHELLверсії та оболонки: $ eval $(echo "$SHELL --version") | grep version а потім читати чоловічу сторінку, припускаючи, …

4
Bash, виконайте команду після виклику нової оболонки
Я намагаюся зробити такий сценарій: #!/bin/bash sudo -s something... Коли я його виконую, я отримую нову оболонку, але somethingвиконується лише тоді, коли я виходжу із створеної оболонки sudo -s, а не всередині неї. Будь-яка допомога?

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

5
Знайдіть файли новіші за день і скопіюйте
Я працюю над сценарієм, який буде копіювати ТОЛЬКІ файли, створені протягом останнього вихідного дня, в іншу папку. Проблема, яка у мене є, - це сценарій, у якому я копіюю всі файли у вихідному каталозі, а не лише файли, що не досягли дня. Ось що я маю: find . -mtime -1 …

3
Чи можливо одночасно використовувати дужку (перестановку) та розширення масиву?
{}Синтаксис розширення дужок Bash дозволяє створювати легкі перестановки # echo {b,c,d}{a,e,i,o,u} ba be bi bo bu ca ce ci co cu da de di do du Однак мені незрозуміло, чи / як можна використовувати це разом з масивами, за винятком дуже незручного використання $() echoтаeval Чи існує простий спосіб використання …


2
Запускайте команди паралельно і чекайте, коли одна група команд закінчиться, перш ніж починати наступну
У мене є сценарій, що включає декілька команд. Як можна згрупувати команди для запуску разом (я хочу скласти кілька груп команд. У межах кожної групи команди повинні працювати паралельно (одночасно). Групи повинні виконуватись послідовно, чекаючи, коли одна група закінчиться перед запуском наступна група) ... тобто #!/bin/bash command #1 command #2 …

3
Вийдіть з функції bash, а не з терміналу
У мене є bash-скрипт, внизу якого встановлюється zookeeper, але тільки якщо він уже не встановлений. ##zookeper installZook(){ ZOOK_VERSION="3.4.5" ZOOK_TOOL="zookeeper-${ZOOK_VERSION}" ZOOK_DOWNLOAD_URL="http://www.us.apache.org/dist/zookeeper/${ZOOK_TOOL}/${ZOOK_TOOL}.tar.gz" if [ -e $DEFAULT_INSTALLATION_DEST/${ZOOK_TOOL} ]; then echo "${ZOOK_TOOL} alreay installed"; exit 1; # <<<< here elif [ ! -e $DEFAULT_SOURCE_ROOT/${ZOOK_TOOL}.tar.gz ]; then wgetIt $ZOOK_DOWNLOAD_URL else echo "[info] : $DEFAULT_SOURCE_ROOT/$ZOOK_TOOL already …

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

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