Вопросы с тегом «shell-script»

9
Использовать read как подсказку внутри цикла while, управляемого read?

У меня есть случай использования, когда мне нужно читать несколько переменных в начале каждой итерации и читать входные данные пользователя в цикле. Возможные пути решения, которые я не знаю, как исследовать - Для назначения используйте другой дескриптор файла вместо стандартного ввода Используйте...

9
Построить команду динамически

Я работаю над сценарием, и мне нужно построить tarкоманду динамически. Вот два примера, чтобы проиллюстрировать, что я пытаюсь сделать: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo...

9
Bash сортировать массив по длине элементов?

Учитывая массив строк, я хотел бы отсортировать массив в соответствии с длиной каждого элемента. Например... array=( "tiny string" "the longest string in the list" "middle string" "medium string" "also a medium string" "short string" ) Должен сортировать в ... "the longest string in the list" "also...

9
«Вариабилизация» амперсанда (фоновый процесс)

Я хочу знать, есть ли способ поместить амперсанд в переменную и по-прежнему использовать его для отправки процесса в фоновый режим. Это работает: BCKGRND=yes if [ "$BCKGRND" = "yes" ]; then sleep 5 & else sleep 5 fi Но разве не здорово было бы выполнить эти пять строк одной? Вот так:...

9
diff показывает только различия внутри строки

Я хочу сравнить строки в двух файлах, но чтобы минимизировать шум на выходе, я хочу, чтобы печатались только реальные различия в строках. Например, учитывая два файла ниже: a.txt a b c d e f g h i j k l m n o p q r s t u v w x y z b.txt a B c d e f g h i j k l m n o p q r s t u v w x y z (разница...

9
Как я могу предотвратить появление неподдерживаемых опций 'shopt' в моем .bashrc?

Я работаю в относительно гетерогенной среде, где я могу использовать разные версии Bash на разных узлах HPC, виртуальных машинах или моей личной рабочей станции. Поскольку я помещаю свои сценарии входа в Git-репозиторий, я хотел бы использовать один и тот же (ish) .bashrcпо всем направлениям, без...

9
Производительность цикла против расширения

Нужны экспертные предложения по сравнению ниже: Сегмент кода с использованием цикла: for file in `cat large_file_list` do gzip -d $file done Сегмент кода с использованием простого расширения: gzip -d `cat large_file_list` Какой из них будет быстрее? Приходится манипулировать большим набором...

9
Попытка написать сценарий оболочки, который продолжает тестировать сервер удаленно, но он продолжает падать в операторе else при выходе

Здесь я пытаюсь написать сценарий оболочки, который продолжает тестировать мой сервер и отправлять мне электронные письма, когда он отключается. Проблема в том, что когда я выхожу из ssh-соединения, несмотря на то, что он запускается с ним &в конце команды, например ./stest01.sh &, он...

9
Я хочу передать stdin скрипту bash скрипту python, который называется в этом скрипте bash

У меня есть скрипт bash, вызывающий скрипт на python, который я хочу fileпередать через stdin. Вызов сценария bash: ./script.sh < file И содержание script.sh: #! /usr/bin/env bash pushd /some/python/virtual/environment/working/dir source venv/bin/activate python main.py ?????? deactivate popd Я...

8
Причина использования ksh -eq

Последняя версия ksh устаревает с использованием -eqвнутри [[ ]]блоков, предпочитая (( ))вместо этого. Почему это? Я не могу найти документацию о преимуществах по (( ))сравнению с [[ ]]другими, и я нахожу, что синтаксис значительно более очевиден. Например: #!/bin/ksh var=1 if [[ $var -eq 1 ]] then...

8
Копировать / переименовать несколько файлов с помощью регулярного выражения (сценарий оболочки)

У меня есть коллекция файлов, соответствующих шаблону, например «assignment02.cc», «assignment02.h», «assignment02.txt» и т. Д. Я хотел бы скопировать / переименовать эти файлы в «assignment03.cc», «assignment03». h ',' assignment03.txt 'и т. д. Я подозреваю, что это должно быть прямо с...

8
Преобразование html-таблицы в ncurses-подобную ascii-таблицу?

У меня есть некоторая документация в таблице HTML. Я хочу преобразовать таблицу в таблицу ascii, как вы видите, когда получаете результат командной строки mysql, например так: +------------+------------+ | header | header | +------------+------------+ | cell data | cell data |...

8
Можно ли заставить скрипты использовать псевдонимы вместо команд?

У меня есть псевдоним для команды (я настраиваю среду разработки Python) alias python=~/virtualenv/bin/python так что я могу бежать ~/virtualenv/bin/python, просто набрав python. Теперь в моем проекте есть сценарий оболочки, который работает, например: #!/bin/sh python run-project.py Могу ли я...

8
Как запустить сценарий с другого пути и узнать путь сценария?

Мне нужно запустить скрипт, который обращается к файлу по тому же пути, в котором он находится. Например: у меня есть скрипт /home/me/folder/script.sh, и этот скрипт будет обращаться к файлу /home/me/folder/myfile. Поскольку файл находится в том же пути сценария, я просто использую имя myfile, а не...

8
Вы предпочитаете bash-скрипты или псевдонимы для ярлыков? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . У меня есть ~/binкаталог (который у меня есть PATH), где я храню много...

8
Измерение времени в скрипте

Этот поток показывает, как измерить время, необходимое для запуска скрипта. В моем случае меня интересует измерение времени между двумя точками в скрипте . Вот пример того, как я хотел бы использовать это: start_measuring_time Line 1 Line 2 .. Line N stop_measuring_time show_elapsed_time Я хотел...

8
Как я могу преобразовать данные, разделенные табуляцией, в данные, разделенные запятыми?

Я запрашиваю список снимков ec2 с помощью инструмента командной строки ec2 amazon: ec2-describe-snapshots -H --hide-tags > snapshots.csv Данные выглядят примерно так: SnapshotId VolumeId StartTime OwnerId VolumeSize Description snap-00b66464 vol-b99a38d0 2012-01-05 5098939 160 my backup Как я...

8
«Echo 1> / sys / block / sdX / device / delete» на всех дисках, кроме предварительно определенного списка

У меня есть список дисков SCSI, которые мне нужно удалить. Список считается случайным в лучшем случае и меняется время от времени. Я хочу удалить все, кроме предварительно определенного списка, который я создал. Давайте пока предположим, что я хочу сохранить только: /dev/sda /dev/sdb Команда,...

8
Как получить PID subshell в Korn Shell (эквивалент $ BASHPID)

В bash у вас есть эта удобная переменная: $ BASHPID, которая всегда возвращает PID запущенной в данный момент подоболочки. Как я могу получить PID подоболочки в ksh? Например, см. Код ниже: #!/usr/bin/ksh93 echo "PID at start: $$" function run_in_background { echo "PID in run_in_background $$"...