📜  运行更漂亮 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:12:19.514000             🧑  作者: Mango

运行更漂亮 - Shell-Bash

作为一个程序员,我们经常需要在命令行中使用 Bash 来完成各种任务。而在日常的开发中,我们可能需要在终端中经常运行一些脚本来帮助我们自动化一些任务或打包发布程序。而这些脚本如果能够运行得更漂亮,将可以提升我们的工作效率和体验。本文将为大家介绍如何在 Shell-Bash 中实现更漂亮的运行效果。

颜色:

一个最简单的方法就是通过 Shell-Bash 的颜色来突出显示特定的信息。通过 ANSI Escape 制造的颜色可以让我们的工作效果更加直观和美观。

# 使用颜色
echo -e "\033[33mHello World\033[0m"

输出:

Hello World

如上代码,\033[33m 代表着黄色的前景色,\033[0m 则是将之前定义的颜色还原成终端默认的颜色。

进度条:

一个经典的需求就是在 Shell-Bash 中展示一个进度条。环形、线性或其它都有。其中,最常用的是线性进度条。

#!/bin/bash
bar="##################################################"
n=0
while [[ n -le 100 ]]
do
    sleep 0.1
    n=$(( n+1 ))
    echo -ne "\r[${bar:0:$n}] $n%"
done
echo ""

输出:

[##################################################] 100%

如上代码,是一个最基础的线性进度条实现,循环中每次输出的内容都将视为新的一行。\r 能够使我们光标回到行首,从而形成动态的效果。

表格:

如果需要在 Shell-Bash 中展示表格或者多列的数据,可以使用 column 命令。

#!/bin/bash
title=("Name" "Age" "Gender")
data1=("Andy" "28" "Male")
data2=("Kelly" "30" "Female")
data3=("Alex" "25" "Male")
printf "%-10s %-10s %-10s\n" ${title[@]}
printf "%-10s %-10s %-10s\n" ${data1[@]}
printf "%-10s %-10s %-10s\n" ${data2[@]}
printf "%-10s %-10s %-10s\n" ${data3[@]} | column -t

输出:

Name       Age        Gender    
Andy       28         Male      
Kelly      30         Female    
Alex       25         Male      

其中,%-10s 是一个占位符,能够控制每一列的宽度,其中 - 表示左对齐,10 表示该列的宽度,s 表示的是字符串。

推荐阅读

本文只是为大家提供了一些 Shell-Bash 脚本中常用的技巧,如果您想要更深入的学习或了解,可以阅读以下资料:

以上就是我分享给大家的有关于 Shell-Bash 如何运行更漂亮的一些技巧,希望本文能够对大家有帮助!