私はbashスクリプトを作成しており、同じ行にステータスが右揃え(OK、警告、エラーなど)のメッセージを表示したいと考えています。Bashのテキスト文字列の右揃えと左揃え
色がないと、配置は完璧ですが、色を追加すると、右揃えの列が次の行に正しく折り返されます。
#!/bin/bash
log_msg() {
RED=$(tput setaf 1)
GREEN=$(tput setaf 2)
NORMAL=$(tput sgr0)
MSG="$1"
let COL=$(tput cols)-${#MSG}
echo -n $MSG
printf "%${COL}s" "$GREEN[OK]$NORMAL"
}
log_msg "Hello World"
exit;
これは完全に機能しました。 echo -nの代わりにprintfを使うことについてのヒントもありがとう。 –
printfの良いヒント。ちょうど私が左の調整されたテキストを必要としたとき:) – oligofren