Tag: shell script

Использование sed для цветного вывода из команды на Solaris

У меня есть сценарий ksh, который должен работать как на Linux, так и на солярии. Я пытаюсь покрасить вывод конкретных команд. Он работает на Linux (в частности, RHEL6), но не на Solaris (SunOS 5.10). Команда на linux (выход «test» правильно окрашен в красный цвет): [amartin@linuxbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' test Команда на Solaris (выход […]

Почему у меня есть другой статус выхода для ps | grep в скрипте?

Я бегу ниже скрипта: #!/bin/bash ps ax | grep -q [v]arnish if [ $? -eq 0 ];then echo varnish is running… exit 0 else echo "Critical : varnish is not running " exit 2 fi Результат выглядит как: [root@server ~]# sh -x check_varnish_pro.sh + ps ax + grep -q '[v]arnish' + '[' 0 -eq 0 […]

Сравните файлы, которые находятся в каталоге 1, но не в каталоге 2?

У меня проблемы с сценарием bash, который я хочу сделать Я знаю, что ls перечислит файлы, которые находятся в каталоге, но я хочу, чтобы он отображал каталоги, которые находятся в каталоге1, но НЕ в каталоге2, а затем перечисляет файлы в каталоге2, которые НЕ находятся в каталоге1. В слабой попытке я попытался: ls -al | diff […]

Используйте md5sum для проверки файла в скрипте

Этот вопрос, вероятно, довольно прост, но я не знаю, как это сделать. Я хочу проверить файл, используя md5sum -c file.md5 . Я могу сделать это вручную, но я не знаю, как проверить правильность сценария. Надеюсь, ты поможешь мне?

назначить комбинацию клавиш для запуска скрипта

Я написал сценарий, чтобы изменить яркость экрана. Это полезно, когда я работаю над текстовым режимом, а клавиши быстрого доступа на клавиатуре для изменения яркости не работают. Можно ли запустить этот скрипт, просто нажав некоторые клавиши на клавиатуре в качестве ярлыка, например Ctrl + Alt + F7 ?

Почему в этом сценарии оболочки bourne выполняется `exec 2> & 1`?

Я переношу старый сценарий ksh в оболочку Bourne. Старый скрипт ksh содержит следующий код: #!/bin/sh tmpLog=/var/tmp/logfile.$$ exec 1> $tmpLog exec 2>&1 eval $* another_command_1 another_command_2 Из того, что я читал, кажется, что эти два оператора exec предназначены для выполнения $ *, another_command_1, another_command_2 и всех следующих команд; а затем перенаправить все STDERR и STDOUT из […]

Использование getopts для анализа параметров после аргумента без опции

У меня есть сценарий bash, как nepleaks_upd.sh ниже в файле nepleaks_upd.sh , который я хочу запустить как ./nepleaks_upd.sh bootstrap –branch off . Не удалось сделать это –branch , но с чем он работает ./nepleaks_upd.sh bootstrap -b off . usage() { echo "Usage: $0 [prepare | up | down] [-b <on/off>]" 1>&2; exit 1; } case […]

Переместить файлы обратно по 2 директориям

$ cat file /tmp/foldera/folderb/folderc/file1 /tmp/folderc/folderd/foldere/file2 /tmp/folderf/folderg/folderh/file3 Необходимо переместить эти файлы в /tmp/foldera/ /tmp/folderc/ /tmp/folderf/ соответственно, используя петлю или любой удобный способ сделать это.

Почему это «while kill -0 $ PID», а не «до kill -0 $ PID»?

Я могу быть здесь глупым, но если я хочу что-то сделать, пока процесс запущен, зачем мне это делать: while kill -0 $PID do #… done вместо until kill -0 $PID do #… done ? kill -0 выходит с кодом 1 если процесс не найден, и 0 если процесс найден: $ kill -0 123444 -bash: kill: […]

Переменная в sed

У меня есть файл, содержащий имена файлов с абсолютным путем. В середине этого пути, является переменным каталогом, всякий раз, когда я жестко кодирую часть переменной, он работает нормально, но когда я заменяю его именем переменной, часть sed не работает. Часть sed – удалить шаблон или по этому вопросу путь. file=`echo $one_file | sed 's:/dir1/dir2/$VAR/last_dir/::'`

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