目录

shell之于Linux

GNU/Linux是世界上最强大、最灵活的操作系统之一。在现代计算领域中,它可谓无处不在,从 服务器、便携式计算机、移动电话、平板电脑到超级计算机,概莫能外。尽管配备了优美、时髦 的图形用户界面,但依然是同Linux进行交互的最灵活的方式。
除了执行单独的命令, shell还可以执行命令脚本, 所以非常易于实现各种任务的自动化操作, 如生成报表、发送电子邮件、进行系统维护等。本书包含各式各样的攻略,演示了命令及shell 脚本的实战用法。你可以将其作为参考,或是自己编写脚本时的灵感源泉。书中涉及的任务包括 文本处理、网络运维、系统管理,不一而足。
和学习其他手艺一样,熟能生巧。待你成为shell脚本行家之日,方能完全发挥并驾驭shell的 真力。

bash内建命令

输出信息

echo 与 printf

输出命令之后的所有信息。信息外侧可以不加引号,但无引号时特殊字符需要转义。注,

常见的有

字符 输出转置
! \!

[centos7]# echo "Hello world !"
bash: !": event not found    #报错表示需要\转义
#以下为正确输出
[centos7]# echo Hello world \!
Hello world !
[centos7]# echo "Hello world \!"
Hello world \!   #多输出了\
[centos7]# echo Hello world !
Hello world !
<sxh bash; first-line: 1; highlight: [89,98-99];title: linux Terminal Print Example ↓↓ >

echo "Hello world !"
#[output] bash: !": event not found    #报错表示需要\转义
#以下为正确输出
echo Hello world \!
#[output] Hello world !
echo "Hello world \!"
#[output] Hello world \!   #多输出了\
echo Hello world !
#[output] Hello world !



printf "%-5s %-10s %-4s\n" No Name Mark
printf "%-5s %-10s %-4.2f\n" 1 Sarath 80.3456
printf "%-5s %-10s %-4.2f\n" 2 James 90.9989
printf "%-5s %-10s %-4.2f\n" 3 Jeff 77.564
    ==================
No    Name       Mark
1     Sarath     80.35
2     James      91.00
3     Jeff       77.56

[centos7]# sh 1.txt
Hello world \!




printf语法说明

echo高级用法

1. 在 echo 中转义换行符 在默认情况下, echo 会将一个换行符追加到输出文本的尾部。可以使用选项 -n 来忽略结尾 的换行符。 echo 同样接受双引号字符串内的转义序列作为参数。如果需要使用转义序列,则采 用 echo –e “ 包含转义序列的字符串 ” 这种形式。例如:

echo -e "1\t2\t3"
1 2 3
     If -e is in effect, the following sequences are recognized:
     \\     backslash
     \a     alert (BEL)
     \b     backspace
     \c     produce no further output
     \e     escape
     \f     form feed
     \n     new line
     \r     carriage return
     \t     horizontal tab
     \v     vertical tab
     \0NNN  byte with octal value NNN (1 to 3 digits)
     \xHH   byte with hexadecimal value HH (1 to 2 digits)

输出自定义颜色

echo -e “\e[1;31m This is red text \e[0m”
This is red text
echo -e “\e[1;42m Green Background \e[0m”