Shell编程printf%s

时间:2012-07-18 05:38:45

标签: linux

需要一些使用printf%s的帮助

这是我的代码的一部分

getspace=`expr 50-$getlength`;

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

我希望使用getspace结果交换值%20s。意味着如果此循环的getspace为15,则为%15s,如果下一个元素的getspace为50,则为50%

如何为printf

交换动态变量

我试过但它不起作用

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

printf "%s %*s\n" "$var1" "$getspace" "$var2"

答案 2 :(得分:0)

我认为该行

getspace=`expr 50-$getlength`

应该是

getspace=`expr 50 - $getlength`

然后,

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

应该有效,因为它对我有用。