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

17
Предложить пользователю войти в систему как root при запуске сценария оболочки

Проблема, которую я получаю, когда я ввожу команду, su - root в начале моего файла сценария оболочки он предлагает пользователю ввести пароль, а затем НЕ переходит к остальной части сценария оболочки. Затем я должен вручную найти и запустить скрипт оболочки через терминал. Я хочу, чтобы скрипт...

17
Скобки в условии if: почему я получаю синтаксические ошибки без пробелов?

Я использую приведенный ниже сценарий для перемещения на два дня назад, когда сценарий запускается в начале двух дней в году, а также для проверки первого и второго дней каждого месяца и перехода на два дня назад. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year"...

17
Как получить имя пользователя, который выполнил скрипт bash, как sudo?

Я хочу создать bash-скрипт, который должен выполняться с помощью sudo, но должен учитывать имя пользователя не-sudo, который его выполнил. Так что, если пользователь bobзапускает, sudo ./myscript.shя хотел бы myscript.shзнать, кто bobбыл его исполнителем. Давайте посмотрим внутрь myscript.sh:...

17
Как открыть терминал, разделить на 9 терминалов и переключаться между ними одним скриптом?

Я хотел бы открыть терминал, разделить его, скажем, на 9 частей (3х3) и выполнить некоторый скрипт bash. Но для каждой терминальной части свой скрипт. Это можно сделать с помощью Perl, Python или даже Bash? Как я могу переключаться между этими маленькими терминалами, не используя сочетания клавиш?...

17
Пройдите по всем подкаталогам и сделайте что-нибудь в сценарии оболочки Unix

Я хочу, чтобы мой сценарий оболочки посещал все подкаталоги в главном каталоге. Сделайте что-нибудь в каталогах, отправьте вывод в буферный файл и перейдите к следующему каталогу. Рассмотрим Main Dir = / tmp Sub Dir = ABCD (четыре...

17
удалить строки, где значение поля меньше или равно 3 - sed или awk?

Мне нужно удалить каждую строку, которая имеет значение 2 или менее в 8-м поле (столбец). Мои данные выглядят так: 12-31 Airport 189 379 41 49.70946503 -124.91377258 2 2880 30.8 01-01 AlberniElementary 165 331 16 49.26100922 -124.80662537 4 5760 26.1 01-09 BamfieldMarine 161 323 23 48.83490372...

17
как удалить последний слеш пути к каталогу?

У меня есть скрипт, который требует каталог в качестве одного аргумента. Я хочу поддержать две формы: один как a/b/c (без косой черты в конце) и другой как a/b/c/ (косая черта в конце). Мой вопрос: учитывая любую из двух форм, как я могу просто оставить первую форму без изменений и удалить...

17
Как заменить пробелы во всех именах файлов подчеркиванием в Linux с помощью сценария оболочки?

Я попытался следующий сценарий оболочки, который должен заменить пробелы из всех имен файлов XML for xml_file in $(find $1 -name "* .xml" -type f); do echo "removing spaces from XML file:" $xml_file mv "$xml_file" "${xml_file// /_}"; done Предположим, у меня есть XML-файл с именем xy z.xml, тогда...

17
Как я могу использовать переменную как условие случая?

Я пытаюсь использовать переменную, состоящую из разных строк, разделенных с помощью |в качестве caseпроверки операторов. Например: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac Я хочу иметь возможность набрать fooили...

17
Как я могу удалить все до шаблона и все после другого шаблона из линии?

В следующем файле: Lorem Ipsum Dolor Sit Amet, посвященный Aditiscing Elit. Ut eu metus id lectus vestibulum ultrices. Меценатский хрип Я хочу удалить все до consectetuerи все после elit. Мой желаемый результат: consectetuer adipiscing elit. Как я могу это...

17
Строки префикса и суффикса к каждой строке вывода из команды

Я столкнулся с проблемой, пытаясь написать сценарий Bash. Когда grepвыводит, он возвращает (обычно) много строк. Я хотел бы префикс и суффикс строки для каждой из этих строк вывода. Я также хотел бы отметить , что я ТРУБОПРОВОДНЫЙ lsв grep, как: ls |...

17
Какой интерпретатор оболочки запускает скрипт без шебанга?

Предположим, что оболочкой по умолчанию для моей учетной записи является zsh, но я открыл терминал, запустил bash и выполнил скрипт с именем prac002.sh, какой интерпретатор оболочки будет использоваться для выполнения сценария, zsh или bash? Рассмотрим следующий пример: papagolf@Sierra ~/My...

17
поиск сценария Bash - Return on Error, а не Exit?

Я использую скрипт bash в терминале , поэтому при выходе set -o errexit убивает мой терминал, который крайне раздражает, потому что я должен закрыть терминал, открыть другой и сбросить некоторые переменные. Пока, используя command || return линии, в сценарии, делает именно то, что я хочу set -o...

17
Отладочные сценарии, в чем разница между -x и set -euxo pipefail?

Основной способ отладки скриптов, который я знаю, - добавление -xв shabang ( #!/bin/bash -x). Недавно я наткнулся на новый способ, добавив set -euxo pipefailпрямо под шабан, как в: #!/bin/bash set -euxo pipefail В чем основное различие между двумя способами отладки? Есть ли моменты, когда вы бы...

17
Есть ли в bash / bourne оператор in?

Я ищу оператор «in», который работает примерно так: if [ "$1" in ("cat","dog","mouse") ]; then echo "dollar 1 is either a cat or a dog or a mouse" fi Это, очевидно, гораздо более короткое утверждение по сравнению, скажем, с использованием нескольких «или»...

16
Как я могу объединить переменную оболочки с другими параметрами в моих командных строках?

Как я могу объединить переменную оболочки с другими параметрами в моих командных строках? Например, #!/bin/sh WEBSITE="danydiop" /usr/bin/mysqldump --opt -u root --ppassword $WEBSITE > $WEBSITE.sql Мне нужно СЦЕПИТЬ...

16
Обработка bash переменной с помощью sed

переменная bash LATLNG содержит значение широты и долготы в скобках, например (53.3096,-6.28396) Я хочу разобрать их в переменные с именами LAT и LON, которые я пытаюсь сделать с помощью sed, так LAT=$(sed "s/(\(.*\),\(.*\))/\1/g" "$LATLNG") LON=$(sed "s/(\(.*\),\(.*\))/\2/g" "$LATLNG") Однако я...

16
Bash CD до тех пор, пока в определенной папке

Я много работаю в Magento, как и многие люди, с которыми я работаю, и раздражает необходимость набирать: компакт диск ../../../../../../ Чтобы найти только несколько каталогов из корневой папки «httpdocs», я пытаюсь создать скрипт, следующий за этим псевдокодом: while lowest level directory !=...