linux命令行及shell脚本学习笔记之构建基本脚本

shell脚本的关键在于输入多个命令并处理每个命令的结果,甚至需要将一个命令的结果传给另一个命令。shell可以让你将多个命令串起来,一次执行完成。如果要两个命令一起运行,可以 把它们放在同一行中,彼此间用分号隔开。

创建shell脚本文件

在创建shell脚本文件时,必须在文件的第一行指定要使用的shell。其格式为:

#!/bin/bash

在通常的shell脚本中,井号(#)用作注释行。shell并不会处理shell脚本中的注释行。然而, shell脚本文件的第一行是个例外,#后面的!会告诉shell用哪个shell来运行脚本

echo:输出字符串 -n 不换行

使用变量

环境变量等 echo Home: $HOME
把命令输出的数据赋值给变量(2种方法):1. “(反引号) 2.$()

t=`date`
t=$(date)
echo $t

重定向输入输出

bash shell提供了几个操作符,可以将命令的输出重定向到另一个位置(比如文件)。重定向可以用于输入,也可以用于输出,可以将文件重定向到命令输入

command > outputfile // 命令输出发送的文件 输出重定向
command > inputfile  // 文件内容发送到命令 输入重定向

在命令行上,命令总是在左侧,而重定向符号“指向”数据流动的方向。小于号说明数据正在从输入文件流向命令。

wc < test // wc命令可以统计文本的行,词和字节数

内联输入重定向(inline input redirection)

这种方法无需使用文件进行重定向,只需要在命令行中指定用于输入重定向的数据就可以

wc << end

3行,3个词,9个字符

管道:命令重定向可以实现命令和文件的数据流通,管道 可以实现命令到命令——管道连接,符合为竖线 |
注意:不要以为由管道串起的两个命令会依次执行。Linux系统实际上会同时运行这两个命令,在系统内部将它们连接起来,在第一个命令产生输出的同时,输出会被立即送给第二个命令。数据 传输不会用到任何中间文件或缓冲区

执行数学运算:在shell脚本中有两种途径来进行数学运算

expr 1 + 5 // 注意中间的空格
6
// 另一种方式
a = $[1 + 5] // 注意+两边的空格
echo $a
6

退出脚本:exit
$?来保存上个已执行命令的退出状态

shell
作者:张雪飞
出处:https://zhangxuefei.site/p/2311
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

发表评论

电子邮件地址不会被公开。 必填项已用*标注