Tôi đang tạo tập lệnh bash và muốn hiển thị thông báo có trạng thái căn chỉnh phù hợp (OK, Cảnh báo, Lỗi, v.v.) trên cùng một dòng.Cách căn chỉnh và căn trái các chuỗi văn bản căn chỉnh trong Bash
Nếu không có màu sắc, căn chỉnh hoàn hảo, nhưng việc thêm màu sẽ làm cho cột được căn chỉnh phù hợp với dòng kế tiếp, không chính xác.
#!/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;
Điều này hoạt động hoàn hảo. Cảm ơn bạn đã sử dụng printf thay vì echo -n. –
mẹo hay trên printf. chỉ khi tôi cần văn bản điều chỉnh bên trái :) – oligofren