Articles of shell скрипт

включить файлы точек (.x) с помощью команды rsync -r

У меня есть следующая команда: rsync -r –exclude=”node_modules” “/r2g_shared_dir/vamoot”/* “/home/node/.docker_r2g_cache/b640e7fd-27a7-4dd8-8ca8-5363a1c59c35” Я только что понял, что использование / * не будет копировать точечные файлы (файлы / папки, которые начинаются с.) … Кто-нибудь знает, как я могу включить эти файлы? Я полагаю, что лучшим способом было бы отказаться от обозначения / * и просто использовать rsync -r […]

SSH remote – отображать эхо на локальном терминале

Следующее является частью моего скрипта, где я хочу echo некоторый текст на локальный терминал, если условие не выполняется в ssh. /usr/bin/sshpass -p $PASSWORD /usr/bin/ssh -t -o “StrictHostKeyChecking no” root@$IP -p $PORT ‘ cd $PATH; [ ! -d temp ] && mkdir temp; for new_file in ‘${NEW_FILE[@]}’ do [ -f $new_file ] && mv -f $new_file […]

Как избежать потери моей оболочки с помощью set -e

Я хотел бы использовать set -e в bash-скрипте, но каждый раз, когда я запускаю его, любая ошибка убивает мою оболочку. say I have script.sh: #! /usr/bin/env bash set -e my_commmand my_other_command Ошибка в my_command взрывает мою оболочку, если я делаю: % ./script.sh (after chmod) или же % . ./script.sh Должен быть легкий способ обойти это.

Поиск строки и комментарий следующей строки, затем добавление новой строки в сценарии оболочки

Используя сценарий оболочки, я должен обновить файл. Для этого я должен выполнить следующие операции. Я пытался использовать sed но не смог выполнить то же самое. Пример – файл foo.txt Строка поиска, if[a<1] Комментарий следующей строки Добавить новую строку после комментирования пример вход if[a<1] abc ================= Выход (ожидаемый результат) if[a<1] # abc xyz =================

Неявный возврат в функции bash?

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

Сделать автозапуск экрана входа на флешку!

Я хочу, чтобы каждый раз, когда я соединяюсь с флэш-накопителем в командной консоли, мой сценарий оболочки запускается с сообщением, которое запускается только на моем флэш-накопителе !! Я хочу, чтобы он /etc/bash.bashrc как /etc/bash.bashrc в Linux, когда у вас есть пакет с фиглетами и выдается сообщение для отображения на экране, как показано ниже: # MAKE A […]

Использование переменной в качестве условия в zsh

Мой вопрос является zsh-эквивалентом вопроса, заданного здесь: Как я могу использовать переменную в качестве условия регистра? Я хотел бы использовать переменную для условия оператора case в zsh. Например: input=”foo” pattern=”(foo|bar)” case $input in $pattern) echo “you sent foo or bar” ;; *) echo “foo or bar was not sent” ;; esac Я хотел бы использовать […]

Как выполнить следующие команды в скрипте bash?

Я работаю в следующем сценарии, чтобы активировать интерфейс и бэкэнд моего проекта следующим образом: #!/bin/bash cd /Users/perf-fe/ source my_project_34/bin/activate npm start && cd /Users/perf-be/ export FLASK_APP=router.py flask run Однако это не работает, это показывает только первую часть: #!/bin/bash cd /Users/perf-fe/ source my_project_34/bin/activate npm start && Поскольку первый процесс занимает весь терминал, я хотел бы оценить […]

Передайте параметры для getopt из скрипта, который не использует getopt

У меня есть скрипт (назовем его scriptC ), который использует getopt для parsingа коротких и длинных опций и работает нормально. Этот скрипт вызывается так: scriptA запускает scriptB который вызывает scriptC с правильными параметрами. Вопрос: можно ли передать те же параметры, что и аргументы, в scriptA а затем передать их в конце концов в scriptC ? […]

Bash присваивает результат переменной функции bool, затем проверяет

Я пытаюсь создать функцию, которая возвращает 0 или 1 (т. Е. Истина или ложь) и принимает аргумент, а затем создает переменную в другой, которая хранит результаты этой функции. Наконец, проверьте, является ли эта переменная 0 или 1 (истина или ложь) Вот пример того, что я пытаюсь #!/bin/bash _has_string() { if [ $1 == “string” ]; […]