#!/bin/bash log="$(basename $0).$(date +%Y%m%d%H%M%S).log" :>$log ( echo "ip a" ip a echo "ip r list table all" ip r list table all echo "ip ru" ip ru echo "iptables -S" iptables -S echo "iptables -S -t nat" iptables -S -t nat echo "iptables -S -t mangle" iptables -S -t mangle ) >>$log 2>&1
ls -d */|sed 's/\/$//'|xargs
dir="$(cd "$(dirname "$0")"; pwd)"
basename $0
То же самое, но еще отрезаем от имени расширение файла
basename $0|sed 's/\.[^.]*$//'
То же самое, но еще отрезаем от имени все расширения файла
basename $0|sed 's/\..*$//'
Если опция pipefail включена — статус выхода из конвейера является значением последней (самой правой) команды, завершённой с ненулевым статусом, или ноль — если работа всех команд завершена успешно.
set -o pipefail
ls -d */|sed 's/\/$//'|xargs
dir="$(cd "$(dirname "$0")"; pwd)"
basename $0
То же самое, но еще отрезаем от имени расширение файла
basename $0|sed 's/\.[^.]*$//'
То же самое, но еще отрезаем от имени все расширения файла
basename $0|sed 's/\..*$//'
Если опция pipefail включена — статус выхода из конвейера является значением последней (самой правой) команды, завершённой с ненулевым статусом, или ноль — если работа всех команд завершена успешно.
set -o pipefail
tail -F /path/to/file | grep -E --color=always '^|word1|string 1'
Команда будет выводить на экран файл как обычный tail, но при этом подсвечивая строки 'word1' и 'string 1'.
Ключ -E для grep включает расширенные регулярные выражения. Это даст возможность использования пайпа |
как элемента или
. Первая часть строки для grep ^
позволяет выводить все строки (не отфильтровывая), так как совпадает с любой строкой