Linux脚本攻略学习笔记(一)

  • 前言
  • 一、Linux Shell简介
  • 二、终端打印
    • 2.1 实例演示
    • 2.2 各个用法注意事项
    • 2.3 其他打印命令printf

前言

继学习Oracle高级编程后,在Linux环境下安装Mysql时,彻底认识到Linux的欠缺。我们都知道Linux在服务器领域一直处于领先地位,这很大程度要归功于它的稳定性,安全性及其较低的总拥有成本(TCO)。经过一个为老师的推荐选择了《Linux脚本攻略》这边实用性很强的书开始学习。Linux学习任重而道远,吾将上下而求索。

一、Linux Shell简介

Shell脚本通常是一个以shebang(#!/bin/bash)起始的文本文件,其中/bin/bash是Bash的解释器命令路径。
Shell脚本有两种运行方式:
一种是将脚本作为bash的命令行参数,如:

$ bash script.sh #假设脚本位于当前目录下
$ bash /home/path/script.sh #使用脚本的完整路径

另一种则是授予脚本执行权限,将其变为可执行文件。

$ chmod a+x script.sh #赋予脚本执行权限
$ ./script.sh; #使用相对路径
$ /home/path/script.sh #使用完整路径

在Bash中,每个命令或是命令序列是通过分号或换行符来分隔的,如$ cmd1;cmd2
注释部分以#开始,一直延续到行尾。

二、终端打印

终端是交互式工具,用户可以通过它与shell环境进行交互。在终端中打印文本是绝大多数
shell脚本和工具日常需要执行的基本任务。在这则攻略中我们会看到, 可以使用各种方法,采用
各种格式进行打印echo 是用于终端打印的基本命令。在默认情况下, echo 在每次调用后会添加一个换行符。

2.1 实例演示

1、带单引号

$ echo 'Hello World'

在这里插入图片描述

2、双引号

$ echo "Hello World"

在这里插入图片描述

3、不带引号

$ echo Hello World

在这里插入图片描述
对于符号!不能放到双引号中,不然会报错。

$ echo "Hello World!"

在这里插入图片描述

需要使用转义符号 或者!与双引号间加上空格

echo "Hello World! "

在这里插入图片描述

2.2 各个用法注意事项

1、使用不带引号的echo 时,没法在所要显示的文本中使用分号(? 因为分号在bash shell 中被用作命令定界符。
以为 echo Hello; Hello 为例 echo Hello被视为一个命令,第二个Hello则被视为另一个命令。
2、变量替换在单引号中无效
3、双引号的就是上面所说的!。

2.3 其他打印命令printf

另一终端打印的命令是printf。printf使用的参数和C语言中的printf函数一样。默认情况下printf并不像echo命令一样会自动添加换行符,需要手动添加。
printf使用引用文本或空格分隔的参数。
/usr/local/bin/wanghao 目录下创建printf.sh脚本

内容如下:

#!/bin/bash
#文件名:printf.sh
printf "%-5s %-10s %-4s\n" number 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

$ chmod a+x printf.sh #赋予脚本执行权限

在这里插入图片描述

在/usr/local/bin/wanghao 目录下执行printf.sh脚本

   ./printf.sh

Linux脚本攻略学习笔记(一)_第1张图片

printf 原理:
%s、%c、%d和%f都是格式替换符号。其所对应的参数可以置于带引号的格式字符串之后。
%-5s 指明了一个格式为左对齐宽度为5的字符串替换(-表示左对齐),如果不用-指定对齐方式,字符串就采用右对齐形式。宽度指定了保留给某个变量的字符数。对于name而言,保留宽度是10.如果内容不足10个字符,余下的则以空格符填充。
对于浮点数,可以使用其他参数对小数部分进行舍入。
对于mark字段,将其格式化为%-4.2f,其中.2指定保留2位小数。
换行符为(\n)

你可能感兴趣的:(Linux,Linux脚本攻略学习笔记)