bash echo函数的问题

时间:2010-08-08 06:47:57

标签: bash echo

如何在bash中使用echo进行打印,这样行就不会“跳”到正确的变量长度的原因你可以帮我一个这样做的命令

3 个答案:

答案 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