отображение диапазона указанных месяцев с ncal

Вместо этого я бы сделал все это в printf:

#!/bin/sh

header='-------------------------- SOA --------------------------'

headerLength=$(awk '{print length()}' <<<"$header")

value=$(dig soa "$1" +short | awk '{print $3}')

valueString="-----------> $value <-------------"

valueLength=$(awk '{print length()}' <<<"$valueString")

offset=$(((headerLength + valueLength)/2+1))

printf "%s\n\n%${offset}s\n" "$header" "$valueString"

Это имеет то преимущество, что всегда отображается по центру, независимо от длины вашего значения (с использованием слегка измененной версии, которая просто устанавливает value=$1для иллюстрации):

$ foo.sh 2019072905
-------------------------- SOA --------------------------------

            -----------> 2019072905 <-------------
$ foo.sh "some random long string"
-------------------------- SOA --------------------------------

      -----------> some random long string <-------------
$ foo.sh "foo"
-------------------------- SOA --------------------------

              -----------> foo <-------------
0
29.08.2021, 13:21
0 ответов

Теги

Похожие вопросы