Articles of bash

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

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

Как избежать потери моей оболочки с помощью 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 Должен быть легкий способ обойти это.

Развертывание параметров в $ @ не поддерживается оболочкой sh?

Я опубликовал ответ на вопрос об AU и обнаружил, что расширение параметра в $@ не работает с оболочкой sh : <infile xargs -d'\n' sh -c 'echo "${@%%/*}"' _ но он отлично работает в bash . Это ожидаемое поведение оболочки sh , и как я могу выполнить расширение там? Кроме того, я знаю, что с -n1 […]

Почему bash немедленно завершает работу, ожидая завершения команды и получая сигнал SIGHUP, для которого установлена ​​ловушка?

Из руководства Bash Если Bash ожидает завершения команды и получает сигнал, для которого установлена ​​ловушка, ловушка не будет выполнена, пока команда не завершится. Когда Bash ожидает асинхронную команду через встроенную функцию ожидания, прием сигнала, для которого установлена ​​ловушка, заставит встроенную функцию ожидания немедленно вернуться со статусом выхода больше 128, сразу после чего ловушка будет выполнена. […]

Bash-скрипт Выпуск parsingа текста в соответствии с пробелами

У меня есть список команд для анализа для аудита, похожий на этот: 1. -a *policy name=PolicyName -a *policy workflow name=PolicyWorkflow -a *policy action name=PolicyAction -s Server -b Storage -J Node -y 1 Months -o -F -S 2. -a *policy name=PolicyName -a *policy workflow name=PolicyWorkflow -a *policy action name=PolicyAction -s Server -b Storage -J Node -y […]

Почему следующим способом не resize файла ядра?

Чтобы решить эту проблему на https://unix.stackexchange.com/a/446428/674 , я следовал за https://stackoverflow.com/a/17483998/156458 , но он не устанавливает размер основного файла? $ sudo sh -c “ulimit -c 1024 && exec su t” $ ulimit -c 0 Изменяет ли этот способ размер ограничения основного файла временно только для текущей оболочки или навсегда для всех оболочек всех пользователей или […]

Как шаблон «<(cmd)» работает в bash?

В Bash я использую аргументы, которые выглядят как paste <(cat file1 | sort) <(cat file2 | sort) или же comm <(cat file1 | sort) <(cat file2 | sort) Когда я проверяю man comm или man paste , в документации говорится, что args – это действительно FILES. Вопрос: Создаются ли промежуточные временные файлы (в файловой системе […]

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

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

Почему завершение неинтерактивного процесса bash влияет или не влияет на его дочерний процесс при запуске сценария?

У меня есть скрипт bash script1 : #! /bin/bash evince и еще один скрипт script2 #! /bin/bash evince & Когда я бегу ./script2 процесс bash завершается сразу после установки evince на задний план, и процесс evince продолжает работать. Когда я бегу ./script1 & процесс bash ожидает завершения работы evince . Если я завершу процесс bash, […]

Происхождение случая в зависимости от условия

Я ищу способ, чтобы произошел сбой на основе условия if в условии case в Bash Например: input=”foo” VAR=”1″ case $input in foo) if [ $VAR = “1” ]; then # perform fallthrough else # do not perform fallthrough fi ;; *) echo “fallthrough worked!” ;; esac В приведенном выше коде, если переменная VAR равна 1 […]