如何在bash中使用echo进行打印,这样行就不会“跳”到正确的变量长度的原因你可以帮我一个这样做的命令
答案 0 :(得分:5)
尝试使用printf
shell命令:
$ printf "%5d %s\n" 1 test
1 test
$ printf "%5d %s\n" 123 another
123 another
答案 1 :(得分:1)
要修改变量中的前导空格,可以使用Bash参数扩展:
var=" value"
echo "${var#"${var%%[![:space:]]*}"}"
答案 2 :(得分:0)
使用标签分隔列。
echo -e "$var1\t$var2"
或者,更好的是,使用printf
来执行此操作:
printf "%s\t%s\n" $var1 $var2
或者,作为Greg Hewgill showed,使用字段宽度(即使是字符串 - 连字符使它们左对齐):
printf "%-6s %-8s %10s\n" abcde fghij 12345