Tag: bash

Экспортируйте vars env в окно tmux windows / сессии / панели

Есть ли способ экспортировать / обновить список переменных env из файла или что-то в окне / сессии / панели tmux? Здесь я должен вручную установить исходный код .bashrc для обновления новой переменной env на панели каждого tmux

Команда оболочки выполняется по-разному в терминале и скрипте

Следующая последовательность команд ch=`echo “b_d” | sed ‘s/_/\\\\\\\\_/’` echo $ch когда выполняется в терминале или через source выдает вывод b\\_d Когда побежал как скипетт sh script.sh где содержимое скрипта: #!/bin/bash ch=`echo “b_d” | sed ‘s/_/\\\\\\\\_/’` echo $ch выход b\_d Выход с терминала является предпочтительным. Какое решение для использования сценария оболочки? В качестве ответов также принимаются […]

Как переключить пользователя root на пользователя root, чтобы убить родительский процесс?

Я разрабатываю сложный сценарий автоматизации, который автоматизирует большую часть процессов сборки, установки, развертывания и после установки. Проблема в том, что во всех командах, которые нужно выполнить, есть команда, требующая, чтобы пользователь был пользователем root. (Это обязательное ограничение, так как необходимо, чтобы другой пользователь (мы назовем user1) не был в списке sudoers) По сути, я структурирую […]

XML-parsing с чистой баш

Мне нужно проанализировать XML без xmlparser , это возможно? Я начал с xmlstarlet , который хорошо работает, но я не могу использовать настоящий парсер на этой машине. Мне нужно, чтобы это было в одну строчку. Мне просто нужно это: /dev/mdX /dev/sda5 /dev/sdma6 /dev/sdmb6 … /dev/sdsb5 Мой скрипт сейчас выглядит так: cat xml.txt; j=!:1; \ for […]

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

Я могу найти много вопросов с ответами в другом направлении, но, к сожалению, не в том, в котором я хотел бы получить замену: я намереваюсь заменить символ , такой как # , в строке , такой как test#asdf , последовательностью , например {0..10} чтобы получить последовательность строк , в этом примере test0asdf test1asdf test2asdf test3asdf […]

Является ли использование исходного файла, уже полученного в родительском скрипте, необязательным?

Если у меня есть файл, который содержит функцию foo и у меня есть следующий stream: Скрипт A – sources файла, который имеет foo и вызывает foo . Затем сценарий A выполняет другой файл сценария, который также вызывает foo . Этот второй сценарий также содержит тот же файл. Мне было интересно, есть ли способ условно получить […]

Скрипт Bash с `set -e` не останавливается по команде`… &&… `

Я использую set -e для остановки bash-скрипта при первой ошибке . Все работает нормально, если я не использую команду с && : $ cat script set -e cd not_existing_dir && echo 123 echo “I’m running! =P” $ $ ./script ./script: line 2: cd: not_existing_dir: No such file or directory I’m running! =P $ по сравнению […]

Уведомление по электронной почте, когда кто-то SSH Linux Centos7 рабочая станция (вывод команды who)

Моя рабочая станция Linux является частью общей сети. Я хотел бы получать уведомления по электронной почте каждый раз, когда кто-то SSH моей рабочей станции. Для этого я открыл файл ~/.bash_profile в gedit (мой файл ~/.bash_profile совершенно пуст) и написал следующие строки: IP=”$(echo $SSH_CONNECTION | awk ‘{print $1}’)” HOST=$(hostname) TIME_DATE_STAMP=$(date +”%e %b %Y, %a %r”) echo […]

Относительные символические ссылки не разрешаются в подкаталоге

У меня есть следующий макет каталога: /home/me/mydir \- tiller -> ./cache/git-repo1/subdir1/tiller \- makefiles -> ./cache/git-repo2/subdir2/makefiles Когда я нахожусь в /home/me/mydir если я /home/me/mydir ls -l я получаю вышеуказанное, как и ожидалось. Однако, если я /home/me/mydir/tiller в /home/me/mydir/tiller и ls ../makefiles я получаю сообщение об ошибке: ls: ../makefiles: No such file or directory Как я могу […]

Команда не выполняется через SSH

Я сделал этот сценарий для курса. Он выполняет команды через ssh из аргументов скрипта на нескольких удаленных серверах, указанных в файле: #!/bin/bash # The server file. Can be changed with the -f argument SERVER_FILE=’/vagrant/servers’ # The function to check if the chosen SERVER_FILE exists filecheck() { if [[ ! -e $SERVER_FILE ]]; then echo “The […]

Linux и Unix - лучшая ОС в мире.