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

14
В чем разница между Ctrl-Z и kill -STOP?

Когда я запускаю команду ( makeдля большого проекта) из оболочки, я могу нажать Ctrl-Z, чтобы остановить процесс и вернуться в оболочку. Впоследствии я могу бежать, fgчтобы продолжить процесс. Я пытаюсь написать сценарий оболочки, чтобы автоматизировать это (в частности, проверять температуру моего...

14
POSIX-совместимый способ работы со списком имен файлов, возможно, с пробелами

Я видел руководства по написанию сценариев Bash, предлагающие использовать массив для работы с именами файлов, содержащими пробелы. DashAsBinSh, однако, предполагает, что массивы не являются переносимыми, поэтому я ищу POSIX-совместимый способ работы со списками имен файлов, которые могут содержать...

14
Как удалить цветовые коды из стандартного вывода и передать в файл и стандартный вывод

У меня есть программа, которая использует printfнекоторые tputсмешанные в ней, и я хотел бы направить вывод на стандартный вывод, а также файл. Я бы предпочел использовать, sedтак как я не хочу никаких ненужных зависимостей от моего сценария. Вот что у меня так далеко. printf "\n$(tput setaf 6)|...

14
Скопируйте открытый ключ ssh на несколько хостов Linux

Я пытаюсь скопировать .ssh / id_rsa.pub с нашего центрального сервера на несколько серверов. У меня есть следующий скрипт, который я обычно использую для отправки изменений на разные серверы. #!/bin/bash for ip in $(<IPs); do # Tell the remote server to start bash, but since its # standard input...

14
Отрицательные аргументы в голову / хвост

Варианты этого вопроса, конечно, задавались несколько раз в разных местах, но я безуспешно пытаюсь удалить последние Mстроки из файла. Второй наиболее проголосовали ответ на этот вопрос рекомендует сделать следующее , чтобы избавиться от последней строки в файле: head -n -1 foo.txt > temp.txt...

14
Как мне ждать файл в скрипте оболочки?

Я пытаюсь написать сценарий оболочки, который будет ожидать появления файла в /tmpкаталоге с именем, sleep.txtи как только он будет найден, программа прекратит работу, в противном случае я хочу, чтобы программа находилась в спящем (приостановленном) состоянии, пока файл не будет найден. , Теперь я...

14
Удалить файлы старше определенного файла

Мне нужно удалить из папки все файлы старше определенного файла. Запуск bash на CentOS 7. У меня есть решение для этого, но я думаю, что должен быть более элегантный способ сделать это: reference_file=/my/reference/file get_modify_time() { stat $1 | grep -Po "Modify: \K[0-9- :]*" }...

14
Отфильтровать или передать определенные разделы файла

У меня есть входной файл с некоторыми разделами, которые разграничены начальным и конечным тегами, например: line A line B @@inline-code-start line X line Y line Z @@inline-code-end line C line D Я хочу применить преобразование к этому файлу так, чтобы строки X, Y, Z фильтровались через какую-то...

14
Как сделать так, чтобы скрипт принимал несколько аргументов?

Это очень простой скрипт #!/usr/local/bin/bash set -e if [ "$#" -lt 1 ] then echo "Please insert at least one argument" exit else echo -e "\c" fi if [ -h "$1" ] then echo "$1 is a symbolic link" else echo "$1 in not a symbolic link" fi ~ Мой вопрос: как изменить скрипт для распознавания более 1...

14
Подготовьте ответы на вопросы команды

Допустим, я хочу написать сценарий оболочки, который выполняет только одну команду. Но эта команда плохо разработана. Он не предлагает никаких параметров командной строки; вместо этого он задает некоторые вопросы и ждет ввода пользователя. Есть ли способ подготовить этот ввод в сценарии, чтобы на...

14
Проверка даты в оболочке

Я хочу проверить приведенный ниже формат даты в сценарии оболочки 2015-Jul-13 Я использую, date -d "2015-Jul-13" +"%Y-%b-%d"но дает ошибку как date: invalid date

14
При наличии двух фоновых команд завершите оставшуюся при выходе

У меня есть простой скрипт bash, который запускает два сервера: #!/bin/bash (cd ./frontend && gulp serve) & (cd ./backend && gulp serve --verbose) Если вторая команда завершается, кажется, что первая команда продолжает выполняться. Как я могу изменить это так, что если одна из...

14
Сохранить коды выхода при захвате SIGINT и подобных?

Если я использую, trapкак описано, например, на http://linuxcommand.org/wss0160.php#trap, чтобы перехватить ctrl-c (или подобный) и выполнить очистку перед выходом, то я изменяю возвращенный код выхода. Теперь это, вероятно, не будет иметь значения в реальном мире (например, потому что коды выхода...

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

Я читал, что перенаправление вывода в файл с фиксированным именем в /tmpможет быть угрозой безопасности, потому что, если злоумышленник (или недовольный) замечает, что файл /tmp/tmpfileformyscript.tmpсоздается, когда я запускаю свой скрипт (даже если у него нет доступа на чтение к моему скрипт),...

14
POSIX-эквивалент для тайм-аута GNU?

Команда GNU coreutils timeoutчрезвычайно удобна для определенных сценариев, позволяя использовать вывод команды, если она выполняется быстро, и пропускать ее, если это займет слишком много времени. Как я могу приблизиться к базовому поведению timeoutиспользования только указанных POSIX утилит? (Я...

14
Есть ли способ сказать, был ли сценарий оболочки убит с сигналом 9

У меня есть скрипт bash (вызываемый из Java-программы), который постоянно убивают. Я всегда ловлю signal 15с, trapно потом приходит какой-то другой сигнал, который я подозреваю, signal 9но я в основном слеп, чтобы понять, действительно ли это signal 9. Я знаю, что вы не можете trap signal 9, так...

14
Как сравнить версию программы в скрипте оболочки?

Предположим, я хочу сравнить gccверсию, чтобы увидеть, установлена ​​ли в системе минимальная версия или нет. Чтобы проверить gccверсию, я выполнил следующее gcc --version | head -n1 | cut -d" " -f4 Выход был 4.8.5 Итак, я написал простое ifутверждение, чтобы проверить эту версию с некоторым другим...

14
Как сделать bash glob строковой переменной?

Системная информация ОС: OS X bash: GNU bash, версия 3.2.57 (1) -релиз (x86_64-apple-darwin16) Фон Я хочу, чтобы машина времени исключала набор каталогов и файлов из всего моего проекта git / nodejs. Мои каталоги проектов находятся в, ~/code/private/и ~/code/public/поэтому я пытаюсь использовать...

14
Загрузка нескольких файлов через FTP с помощью curl

Я пытаюсь загрузить все текстовые файлы в текущей папке через FTP на сервер, используя curl. Я попробовал следующую строку: curl -T "{file1.txt, file2.txt}" ftp://XXX --user YYY где XXX - IP-адрес сервера, а YYY - имя пользователя и пароль. Я могу успешно передать file1.txt на сервер, но он...