如何在基于回声的输出中填充一定宽度的空格
How to pad spaces of a certain width in a echo based output
我想听取专家的建议,在基于回显的输出中填充一定宽度的空格,如下所示,以确保列以正确的空格分隔,因此,table 输出对漂亮的印刷
下面只是一段代码的echo语句:
if [[ $? -eq 0 ]]
then
echo -e "$CurrntTime $MachineName : SSH connection is Up"
elif [[ $? -eq 255 ]]
then
echo -e "$CurrntTime $MachineName : SSH Authentication Failed"
产生的输出:
下方输出如您所见,几乎没有失真。
02/17/2021 23:56:15 myserver001 : SSH connection is Up
02/17/2021 23:56:15 myserver00101 : SSH connection is Up
期望输出:
02/17/2021 23:56:15 myserver001 : SSH connection is Up
02/17/2021 23:56:15 myserver00101 : SSH connection is Up
正在将我的评论转换为答案,以便未来的访问者可以轻松找到解决方案。
您可以尝试此 printf
,将 width=25
用于第二个字段,将 -
用于左对齐:
printf "%s %-25s : %s\n" "$CurrntTime" "$MachineName" "SSH connection is Up"
# or
printf "%s %-25s : %s\n" "$CurrntTime" "$MachineName" "SSH Authentication Failed"
我想听取专家的建议,在基于回显的输出中填充一定宽度的空格,如下所示,以确保列以正确的空格分隔,因此,table 输出对漂亮的印刷
下面只是一段代码的echo语句:
if [[ $? -eq 0 ]]
then
echo -e "$CurrntTime $MachineName : SSH connection is Up"
elif [[ $? -eq 255 ]]
then
echo -e "$CurrntTime $MachineName : SSH Authentication Failed"
产生的输出:
下方输出如您所见,几乎没有失真。
02/17/2021 23:56:15 myserver001 : SSH connection is Up
02/17/2021 23:56:15 myserver00101 : SSH connection is Up
期望输出:
02/17/2021 23:56:15 myserver001 : SSH connection is Up
02/17/2021 23:56:15 myserver00101 : SSH connection is Up
正在将我的评论转换为答案,以便未来的访问者可以轻松找到解决方案。
您可以尝试此 printf
,将 width=25
用于第二个字段,将 -
用于左对齐:
printf "%s %-25s : %s\n" "$CurrntTime" "$MachineName" "SSH connection is Up"
# or
printf "%s %-25s : %s\n" "$CurrntTime" "$MachineName" "SSH Authentication Failed"