需要一些使用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"
答案 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"
应该有效,因为它对我有用。