Linux脚本入门

来源:互联网 发布:淘宝客入门视频教程 编辑:程序博客网 时间:2024/05/29 14:32

创建可执行shell脚本

  • 创建shell脚本文件,且文件第一行指定要使用的shell。其格式为:#!/bin/bash

  • 指定shell脚本的路径,可将shell脚本文件所处的目录添加到PATH环境变量中;或者在 提示符中用绝对或相对路径来引用shell脚本文件。如: ./stest

  • 文件添加执行权限:chmod u+x stest

显示消息

echo命令可使控制台打印消息。
默认情况下,不需要使用引号将显示的文本字符串圈起来;如果文本中使用了一种引号,可用另一种将字符串圈起来:

echo I am hhecho "I'm hh"echo 'he says:"hh"'

使用变量

环境变量

shell维护着 一组环境变量,用来记录特定的系统信息。
可以在环境变量名称前加个美元符使使这个字符,需要加反斜线\转义。

用户变量

  • 用户变量可以是任何不超过20个字母、数字或下划线的文本字符串。
  • 用户变量区分大小写,Var1和var1是不同的。
  • shell脚本会自动决定变量值的数据类型。
  • 在脚本的整个生命周期里,shell脚本中定义的变量会一致保持着它们的值,在shell脚本完成时删除掉。
  • 用户变量可通过美元符$引用。

反引号

反引号允许你将shell命令的输出赋给变量。必须用反引号把整个命令行命令圈起来:today = date +%y-%m-%d

重定向输入和输出

输出重定向

大于号(>)将命令的输出重定向到一个文件中,如 date>test,将date命令的输出重定向到test文件中。test文件不存在则创建;存在则覆盖原来的文件数据。
双大于号(>>)会追加数据 ,不会覆盖原有数据。

输入重定向

将文件中的内容重定向到命令,符号是小于号(<),如 wc

管道

管道连接可以重定向输出到另一个命令。符号是”|”。 command1 | command2
不要以为管道连接会一个一个地运行。Linux系统会同时运行这些命令,在系统内部将它们连接起来。
管道最流行的用法之一是将命令产生的长输出结果通过管道传送给more命令,如 ls -l | more

执行数学运算

expr命令

expr命令允许在命令行上处理数学表达式。有些命令操作符有其他意思,如*,需要反斜线\转义。
在脚本中,需要反引号来获取expr命令的输出

使用方括号

用美元符和方括号([operation])echo[5*3]
方括号中的运算符也无需转义,例如shell知道方括号中的*不是通配符,而是乘号

退出脚本

shell中运行的每个命令都使用退出状态码来告诉shell完成了处理。退出状态码是一个0-255之间的整数值。

查看退出状态码

Linux提供了$?专属变量来保存上个执行的命名的退出状态码。
按照惯例,一个成功结束的命令的退出状态码是0,如果命令结束时有错误,退出状态码就是一个正数。无效命令会返回退出状态码127。

exit命令

exit命令允许你在脚本结束时指定一个退出状态码:exit 5

0 0