Shell基本元素
- #!/bin/bash 必须的,指出shell的类型
- # 注释
- 变量
- 控制
一个shell脚本
vi mkdir.sh
#!/bin/bash
# this is mkdir
cd /home
mkdir shellTest
echo "shellTest is created."
Shell脚本
什么是 Shell脚本?
如果你有一系列经常使用的Linux命令,你可以把他们存储在一个文件中。Shell可以读取这个文件并执行其中的命令。这样的文件被称为脚本文件
如何创建、执行?
- 用任何编辑器比如vi在文本文件中编写脚本,以.sh为后缀名保存文件。
- 将文件赋予可执行的权限
- 执行脚本命令:
- bash 脚本文件
- ./脚本文件
注意:
- 一般以.sh为文件后缀。没有也能执行。
- 常见的两种执行方式
(1). ./文件名 在当前目录下写明路径执行,要求文件必须有执行权限,如
chmod 755 run.sh
./run.sh
(2). sh 文件名
sh run.sh
- 文件开头指定一个或多个解释脚本程序的shell,如 #!/bin/bash
- 如果指定,注意/bin不要漏了“/”,否则用./方式执行会找不到路径。
- 不指定的话一般默认以/bin/sh执行shell脚本
使用echo命令和#符号
echo命令用于在屏幕上显示消息
使用方式:echo 要显示的内容
- #用于在shell脚本中进行注释
Shell的一般结构
- shell 类型
- 函数
- 主过程
一般模板 abc.sh
#!/bin/bash /shell类型/
#a simple shell script example
#a function
sayhello() /函数/
{
echo "Enter Your name:"
read name /读取来自键盘输入的变量/
echo "Hello $name"
}
echo "programme starts here..." /主过程/
sayhello
echo "programme ends."
1、注释符#
除了#!/bin/bash里的#特殊
2、美元符
变量符。与反斜杠转义符相反,使其后的普通字符作为变量名,如
a表示变量a的值。变量字符长度超过1个时,用{}括起来
3、单引号
被引起的字符全部做普通字符,即全部原样
echo ‘my $SHELL’
4、双引号
引号内的内容,除$,转义符\,倒引号 这三个保留特殊功能,其他字符均做普通字符。
5、倒引号(数字1键旁边的那个键)
引号内的字符串当做shell命令行解释执行,得到的结果取代整个倒引号括起来的部分。
$LOGNAME 系统变量
区别下面几句:
echo ‘my home is $HOME’
echo “my home is $HOME”
echo `my home is $HOME`
echo “my home is `pwd`”
echo ‘my home is `pwd`’
- 反斜线
反斜线是转义字符,它能把特殊字符变成普通字符。在某个字符前面利用反斜杠(\)能够阻止shell把后面的字符解释为特殊字符。
echo “Filename is N0\$\`”