学习笔记:Shell脚本-2015-08-05
2015-08-05 11:20
507 查看
参考文档 :http://www.92csz.com/study/linux/14.htm
以下为精简版======================================================================================================================================
Shell脚本----首先它是一个脚本,并不能作为正式的编程语言。说白了,shell脚本就是一些命令的集合。
Shell脚本通常都是以.sh 为后缀名的。test.sh中第一行一定是 “#!
/bin/bash” 它代表的意思是,该文件使用的是bash语法。如果不设置该行,那么你的shell脚本就不能被执行。’#’表示注释,在前面讲过的。
Shell脚本的执行很简单,直接”sh
filename “ 即可,另外你还可以这样执行:" . / filename.sh ", 但是默认我们用vim编辑的文档是不带有执行权限的,所以需要加一个执行权限“chmod
+x filename.sh”,那样就可以直接使用’./filename.sh’ 执行这个脚本了。
给变量赋值时用到反引号。’d’和’d1’在脚本中作为变量出现,定义变量的格式为 “变量名=变量的值”(d=`
dfafdfdf `)。当在脚本中引用变量时需要加上’$’符号(echo " the script begin at $d "),这跟前面讲的在shell中自定义变量是一致的。
Shell脚本还可以和用户交互。
read -p 选项类似echo的作用。
你有没有用过这样的命令”/etc/init.d/iptables
restart “ 前面的/etc/init.d/iptables 文件其实就是一个shell脚本,为什么后面可以跟一个”restart”? 这里就涉及到了shell脚本的预设变量。实际上,shell脚本在执行的时候后边是可以跟变量的,而且还可以跟多个。
如果你学过C或者其他语言,相信你不会对if 陌生,在shell脚本中我们同样可以使用if逻辑判断。在shell中if判断的基本语法为:
1)不带else
if 判断语句; then
command
fi
在if1.sh中出现了 ((a<60))这样的形式,这是shell脚本中特有的格式,用一个小括号或者不用都会报错,请记住这个格式,即可。
2)带有else
if 判断语句 ; then
command
else
command
fi
以上只是简单的介绍了if语句的结构。在判断数值大小除了可以用”((
))”的形式外,还可以使用”[ ]”。但是就不能使用>, <
, = 这样的符号了,要使用 -lt (小于),-gt (大于),-le (小于等于),-ge (大于等于),-eq (等于),-ne (不等于)。
shell 脚本中if还经常判断关于档案属性,比如判断是普通文件还是目录,判断文件是否有读写执行权限等。常用的也就几个选项:
-e :判断文件或目录是否存在
-d :判断是不是目录,并是否存在
-f :判断是否是普通文件,并存在
-r :判断文档是否有读权限
-w :判断是否有写权限
-x :判断是否可执行
使用if判断时,具体格式为: if
[ -e filename ] ; then
在shell 脚本中,除了用if来判断逻辑外,还有一种常用的方式,那就是case了。
【shell脚本中的循环】
Shell脚本中也算是一门简易的编程语言了,当然循环是不能缺少的。常用到的循环有for循环和while循环。下面就分别介绍一下两种循环的结构。
通过这个脚本就可以看到for循环的基本结构 :
for 变量名 in 循环的条件; do
command
done
【shell脚本中的函数】
fun.sh 中的sum() 为自定义的函数,在shell脚本中要用
function 函数名() {
command
}
在shell脚本中,函数一定要写在最前面,不能出现在中间或者最后,因为函数是要被调用的,如果还没有出现就被调用,肯定是会出错的。
上个脚本执行过程如下:
以下为精简版======================================================================================================================================
Shell脚本----首先它是一个脚本,并不能作为正式的编程语言。说白了,shell脚本就是一些命令的集合。
Shell脚本通常都是以.sh 为后缀名的。test.sh中第一行一定是 “#!
/bin/bash” 它代表的意思是,该文件使用的是bash语法。如果不设置该行,那么你的shell脚本就不能被执行。’#’表示注释,在前面讲过的。
Shell脚本的执行很简单,直接”sh
filename “ 即可,另外你还可以这样执行:" . / filename.sh ", 但是默认我们用vim编辑的文档是不带有执行权限的,所以需要加一个执行权限“chmod
+x filename.sh”,那样就可以直接使用’./filename.sh’ 执行这个脚本了。
给变量赋值时用到反引号。’d’和’d1’在脚本中作为变量出现,定义变量的格式为 “变量名=变量的值”(d=`
dfafdfdf `)。当在脚本中引用变量时需要加上’$’符号(echo " the script begin at $d "),这跟前面讲的在shell中自定义变量是一致的。
Shell脚本还可以和用户交互。
read -p 选项类似echo的作用。
你有没有用过这样的命令”/etc/init.d/iptables
restart “ 前面的/etc/init.d/iptables 文件其实就是一个shell脚本,为什么后面可以跟一个”restart”? 这里就涉及到了shell脚本的预设变量。实际上,shell脚本在执行的时候后边是可以跟变量的,而且还可以跟多个。
如果你学过C或者其他语言,相信你不会对if 陌生,在shell脚本中我们同样可以使用if逻辑判断。在shell中if判断的基本语法为:
1)不带else
if 判断语句; then
command
fi
在if1.sh中出现了 ((a<60))这样的形式,这是shell脚本中特有的格式,用一个小括号或者不用都会报错,请记住这个格式,即可。
2)带有else
if 判断语句 ; then
command
else
command
fi
以上只是简单的介绍了if语句的结构。在判断数值大小除了可以用”((
))”的形式外,还可以使用”[ ]”。但是就不能使用>, <
, = 这样的符号了,要使用 -lt (小于),-gt (大于),-le (小于等于),-ge (大于等于),-eq (等于),-ne (不等于)。
shell 脚本中if还经常判断关于档案属性,比如判断是普通文件还是目录,判断文件是否有读写执行权限等。常用的也就几个选项:
-e :判断文件或目录是否存在
-d :判断是不是目录,并是否存在
-f :判断是否是普通文件,并存在
-r :判断文档是否有读权限
-w :判断是否有写权限
-x :判断是否可执行
使用if判断时,具体格式为: if
[ -e filename ] ; then
在shell 脚本中,除了用if来判断逻辑外,还有一种常用的方式,那就是case了。
【shell脚本中的循环】
Shell脚本中也算是一门简易的编程语言了,当然循环是不能缺少的。常用到的循环有for循环和while循环。下面就分别介绍一下两种循环的结构。
通过这个脚本就可以看到for循环的基本结构 :
for 变量名 in 循环的条件; do
command
done
【shell脚本中的函数】
fun.sh 中的sum() 为自定义的函数,在shell脚本中要用
function 函数名() {
command
}
在shell脚本中,函数一定要写在最前面,不能出现在中间或者最后,因为函数是要被调用的,如果还没有出现就被调用,肯定是会出错的。
上个脚本执行过程如下:
相关文章推荐
- Failed to initialize the PowerShell host 解决方案
- 初学git:用git bash往github push代码
- Linux Shell脚本攻略复习
- linux下shell脚本执行jar文件
- [Linux--Shell]使用命令行关机或重启
- 【Linux】如何用shell编写斐波那契函数
- 杀死指定的一个shell脚本
- shell脚本学习笔记之文本处理命令
- shell知识点小结
- git Bash 安装&配置与基本操作
- git Bash 安装&配置与基本操作
- linux bash shell之declare
- shell中的特殊符号
- 常见经典排序算法学习总结(插入、shell、冒泡、选择、归并、快排等)
- Linux Shell Demo
- powershell小工具,efs加解密三剑客。
- adb shell am/pm 常用命令详解与使用
- shell脚本下用代码段把输入全部重定向到一个文件
- shell常用命令
- Git bash 操作记住密码