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

Вопросы о сценариях оболочки, исполняемых файлах, которые интерпретируются оболочкой (bash, zsh и т. Д.).

2
Почему #! / Usr / bin / env bash не работает в моей системе?
Я столкнулся с некоторыми проблемами при запуске некоторых сценариев установки, на которые они жаловались bad interpreter. Итак, я сделал тривиальный пример, но не могу понять, в чем проблема, см. Ниже. #!/usr/bin/env bash echo "hello" Выполнение сценария выше приводит к следующей ошибке [root@ech-10-24-130-154 dc-user]# ./junk.sh bash: ./junk.sh: /usr/bin/env: bad interpreter: No …

3
Вызовите скрипт для другого скрипта, но не выходите из родительского, если ребенок вызывает exit
first.sh: #! /bin/ksh echo "prova" . ./second.sh echo "ho lanciato il secondo" . ./third.sh echo "ho lanciato il terzo" second.sh: echo "sono nel secondo script" dosomething1 exit $? Если second.shобнаруживает ошибку и выходит со статусом -9, first.shвыходит всегда. Как я могу избежать выхода из первой оболочки, если выходит дочерняя оболочка? …

3
Нажмите любую клавишу, чтобы приостановить сценарий оболочки, нажмите еще раз, чтобы продолжить
Я написал сценарий оболочки для тестирования API, который копирует файлы и отображает их прогресс после каждого. Между каждой копией существует двухсекундный сон, поэтому я хотел бы добавить возможность нажатия любой клавиши, чтобы приостановить выполнение сценария, чтобы провести более глубокое тестирование. Затем нажмите любую клавишу для возобновления. Как я могу добавить …

2
назначить сочетание клавиш для запуска скрипта
Я написал скрипт для изменения яркости моего экрана. Это полезно, когда я работаю в текстовом режиме, а горячие клавиши на клавиатуре для изменения яркости не работают. Можно ли запустить этот скрипт, просто нажав несколько клавиш на клавиатуре в качестве ярлыка, например Ctrl+ Alt+ F7?

3
Как написать bash-скрипт, который входит в систему на другом компьютере, чтобы что-то делать?
Можно ли написать сценарий Bash, что будет запущен с машины A, войдет в систему на другой машине B с помощью ssh (обе машины A и B будут Linux-машинами), копирует некоторые файлы на компьютер B запускает скрипт Python для данного компьютера на данном компьютере. передает результаты обратно на машину A выходит …
11 bash  ssh  shell-script 

2
Многострочная команда: закомментировать одну строку
Мне нравится использовать следующий формат в сценариях для команд с большим количеством параметров (для удобства чтения): docker run \ --rm \ -u root \ -p 8080:8080 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$HOME":/home \ jenkinsci/blueocean Но иногда я хотел бы закомментировать один из этих параметров, например: # -p …

4
Неявный возврат в функции bash?
Скажем, у меня есть функция bash, например: gmx(){ echo "foo"; } будет ли эта функция неявно возвращать выходное значение echoкоманды, или необходимо использовать return? gmx(){ echo "foo"; return $? } Я предполагаю, что, как работает bash, состояние выхода последней команды функции bash - это то, которое возвращается, но не на …

1
Выполните команду или функцию, когда SIGINT или SIGTERM отправляются самому родительскому сценарию, а не дочерним процессам
Допустим, у меня есть это script.sh #!/bin/bash exit_script() { echo "Printing something special!" echo "Maybe executing other commands!" kill -- -$$ # Sends SIGTERM to child/sub processes } echo "Some other text" #other commands here sleep infinity Я хочу script.shвыполнить функцию exit_scriptвсякий раз, когда она получает SIGINTили, SIGTERM например: killall …

4
Подавить имя файла из вывода sha512sum
Может быть, это тривиальный вопрос, но на manстранице я не нашел ничего полезного. Я использую Ubuntu и bash. Нормальный выход для sha512sum testfileIS <hash_code> testfile Как подавить вывод имени файла? Я хотел бы получить только <hash_code>

1
Избегайте сообщений «Общий доступ к <хосту> закрыт»
Я управляю множеством друпальных сайтов и пытаюсь автоматизировать некоторые вещи с помощью drush. Drush run локально вызывает drush на удаленном хосте через ssh, используя параметры, указанные в конфигурации для псевдонима сайта. Я делаю довольно много этих вызовов, поэтому для ускорения я использую постоянные ssh-соединения с ssh config следующим образом: Host …

1
Создание многоадресного соединения для захватов tcpdump
Я хочу написать скрипт оболочки Linux, который будет захватывать определенный многоадресный трафик. В частности, я хочу создать файл pcap, который имеет весь трафик для одной конкретной группы / порта многоадресной рассылки. Вот командная строка, которую я использую для просмотра трафика: tcpdump -nnXs 0 -i eth1 udp port 22001 and dst …

6
Bash - пара каждой строки файла
Этот вопрос тесно связан с этим и с этим вопросом. У меня есть файл, который содержит несколько строк, где каждая строка представляет собой путь к файлу. Теперь я хочу , чтобы соединить каждую строку с каждой иной линией (не сам). Также пара для моих целей A Bравна B Aпаре, поэтому …

1
Что означает подстановка $ {! Var_name + x}?
Я нашел скрипт, который имеет функцию, которая проверяет, установлена ​​ли переменная, но я не очень хорошо ее понимаю. check_if_variable_is_set() { var_name=$1 if [ -z "${!var_name+x}" ]; then false else true fi } Что именно происходит с этой заменой?

5
Захватить код выхода команды выхода
У меня есть это в сценарии Bash: exit 3; exit_code="$?" if [[ "$exit_code" != "0" ]]; then echo -e "${r2g_magenta}Your r2g process is exiting with code $exit_code.${r2g_no_color}"; exit "$exit_code"; fi Похоже, он выйдет сразу после команды выхода, что имеет смысл. Мне было интересно, есть ли какая-то простая команда, которая может …

3
Расписание последнего дня каждого месяца
Я прочитал инструкцию, чтобы запланировать сценарий на последний день месяца: Примечание . Проницательному читателю может быть интересно, как вы можете настроить команду для выполнения в последний день каждого месяца, потому что вы не можете установить значение dayofmonth для покрытия каждого месяца. Эта проблема преследует программистов Linux и Unix и породила …
10 shell-script  cron  date  test 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.