0

在使用 printf %s 方面需要一些帮助

这是我的代码的一部分

getspace=`expr 50-$getlength`;

#the space is between var1 & var2 
printf "%s %20s\n" "$var1" "$var2"

我想将值 %20s 与 getspace 结果交换.. 表示如果此循环的 getspace 为 15,则为 %15s,如果下一个元素的 getspace 为 50,则为 %50s

我如何交换 printf 的动态变量

我试过了,它不起作用

printf "%s %$getspaces\n" "$var1" "$var2"
4

3 回答 3

1
printf "%s %${getspace}s\n" "$var1" "$var2"
于 2012-07-18T05:45:27.910 回答
0
printf "%s %*s\n" "$var1" "$getspace" "$var2"
于 2012-07-19T05:37:09.920 回答
0

我认为这条线

getspace=`expr 50-$getlength`

应该

getspace=`expr 50 - $getlength`

接着,

printf "%s %${getspace}s\n" "$var1" "$var2"

应该工作,因为它对我有用。

于 2012-11-10T05:38:25.560 回答