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

25
печать цветного текста с использованием эха

Я знаю, что для печати цветного текста с использованием эха, например красного цвета, используется код: echo -e "\e[1;31m This is red text \e[0m" и я знаю, что в этом примере 31 - это код красного цвета, а число других цветов: Black 0;30 Dark Gray 1;30 Blue 0;34 Light Blue 1;34 Green 0;32 Light...

25
Как я могу использовать bash's if test и находить команды вместе?

У меня есть каталог с журналами сбоев, и я хотел бы использовать условный оператор в скрипте bash на основе команды find. Файлы журнала хранятся в следующем формате: /var/log/crashes/app-2012-08-28.log /var/log/crashes/otherapp-2012-08-28.log Я хочу, чтобы оператор if возвращал значение true только...

25
Выполнение пользовательской функции в вызове find -exec

Я использую Solaris 10, и я протестировал следующее с помощью ksh (88), bash (3.00) и zsh (4.2.1). Следующий код не дает никакого результата: function foo { echo "Hello World" } find somedir -exec foo \; Поиск действительно соответствует нескольким файлам (как показано заменой -exec ...на -print),...

25
«Дружественные» имена цветов терминалов в скриптах оболочки?

Мне известны библиотеки на таких языках, как Ruby и Javascript, которые упрощают раскрашивание ваших терминальных сценариев с помощью названий цветов, таких как «красный». Но есть ли что-то подобное для сценариев оболочки в Bash, Ksh или что-то...

25
Скрипты Bash - цикл до возвращаемого значения 0

Мне нужно что-то размонтировать в моем сценарии, но иногда оно размонтируется до того, как все данные закончили копироваться, и вызывает сбой размонтирования. Я искал способ сделать «блокировку» размонтирования, но ничего не нашел. Итак, я попытался написать скрипт для цикла, пока он не мог быть...

24
Sed с множественным выражением для аргументации на месте

Я пытаюсь заменить несколько слов в файле с помощью sed -i #expression1 #expression2 файл Something 123 item1 Something 456 item2 Something 768 item3 Something 353 item4 Выход (желаемый) anything 123 stuff1 anything 456 stuff2 anything 768 stuff3 anything 353 stuff4 Попробуйте-аутов Я могу получить...

24
Несколько логических операторов, ((A || B) && C) и «синтаксическая ошибка рядом с неожиданным токеном»

Я работаю с Bash 3, и я пытаюсь сформировать условия. В C / C ++, его мертвым просто: ((A || B) && C). В Bash все оказалось не так (я думаю, что авторы Git, должно быть, внесли этот код, прежде чем перейти к другим попыткам). Это не работает. Обратите внимание, что <0 or 1>это не...

24
Как заменить AND (&&) в цикле for?

Я хотел бы найти эквивалент cmd 1 && cmd 2 && ... && cmd 20 но с командами, выраженными внутри forцикла, как for i in {1..20} do cmd $i done Что бы вы предложили изменить во втором выражении, чтобы найти эквивалент...

24
Новые строки в именах файлов

Я понимаю и принимаю предпосылку, что защитные сценарии оболочки 1 являются разумными и, в долгосрочной перспективе, более устойчивыми. Многие из ответов на вопросы обработки текста здесь следуют этому принципу, встраивая непредвиденные ответы для неортодоксальных имен файлов; которые могут...

24
Выполнить команду по истечении определенного промежутка времени?

Если я выполняю долгий процесс, могу ли я выполнить какие-то временные команды? Например, я выполняю очень длинный процесс, который длится примерно 10 минут. Через 5 минут я бы хотел запустить отдельную команду. Для иллюстрации, отдельная команда может быть:echo 5 minutes complete (Примечание: я не...

24
Как проверить, открыт ли конкретный порт на машине из сценария оболочки, и выполнить действие на его основе?

Я запускаю сценарий оболочки ниже на компьютере, на котором сервер приложений c ++ работает через порт 8080, и в сценарии оболочки я выполняю URL-адрес и сохраняю ответ, полученный с этого URL-адреса, в переменной DATA. Но предположим, что если тот же сервер приложений не работает, он не сможет...

24
Правило вызова subshell в Bash?

Кажется, я неправильно понимаю правило Bash для создания подоболочки. Я думал, что круглые скобки всегда создают подоболочку, которая запускается как собственный процесс. Тем не менее, это не так. В фрагменте кода A (ниже) вторая sleepкоманда не выполняется в отдельной оболочке (как определено...

24
В сценарии оболочки bash, написание цикла for, который перебирает строковые значения

В bash я знаю, что можно написать forцикл, в котором некоторая переменная управления цикла iперебирает заданные целые числа. Например, я могу написать скрипт оболочки bash, который печатает целые числа от 1 до 10: #!/bin/bash for i in {1..10} do echo $i done Можно ли вместо этого перебрать...

24
Diff, показать измененную строку только из правого файла

У меня есть файл, aи bя хотел бы вывести строки, bкоторые были изменены с момента его клонирования a. Только измененные линии, без окружающего контекста, без различий, отметок. Как я могу сделать это с помощью сценариев оболочки? (Нет Python / Perl / PHP / ...) Sed и awk являются приемлемыми...

24
Какой смысл перенаправлять вывод команды grep в / dev / null?

Рассмотрим эту строку: ${libdir}/bin/licenseTool check "${SERIAL}" "${VERSION}" "${PRODUCT}" ${libdir} | grep '^200' >/dev/null Какой смысл искать шаблон в выводе, если результат этого отбрасывается? И если такая строка появляется как последняя вещь в bash-скрипте, возвращается ли ее значение...

24
что такое zsh-эквивалент экспорта bash -f

Итак, я начал использовать zsh. Мне нравится все в порядке. Это выглядит очень круто и гладко, и тот факт, что текущий рабочий каталог и фактическая командная строка находятся на разных строках, это хорошо, но в то же время я замечаю, что это zshможет быть немного медленнее, чем bash, особенно при...

24
Как добавить текст в начало и конец нескольких текстовых файлов в Bash?

У меня есть каталог, полный текстовых файлов. Моя цель - добавить текст в начало и конец всех из них. Текст, который идет в начале и в конце, одинаков для каждого файла. Основываясь на коде, который я получил из Интернета, это код для добавления в начало файла: echo -e 'var language = {\n$(cat...

23
Добавьте строки в начало и конец огромного файла

У меня есть сценарий, где строки должны быть добавлены в начале и в конце огромных файлов. Я попытался, как показано ниже. для первой строки: sed -i '1i\'"$FirstLine" $Filename для последней строки: sed -i '$ a\'"$Lastline" $Filename Но проблема этой команды в том, что она добавляет первую строку...