LinuxShell——认识Shell脚本
linuxshell——认识shell脚本
摘要:本文主要介绍了shell脚本的一些基本知识。
什么是shell脚本
shell脚本是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,达到所想要的处理目的。
shell脚本就像早期dos年代的.bat,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令,而shell脚本更是提供了数组、循环、条件以及逻辑判断等重要功能,让使用者可以直接以shell来写程序。
基本结构
#!/bin/bash
这句话的作用是标明我以下写的脚本使用的是bash语法,只要写的是基于bash的shell脚本都应该这样开头。
在linux中默认的shell环境就是bash,所以在linux里面不加这一句也可以运行。如果把脚本放在默认环境不是bash的环境中运行,又或者编写脚本的不是纯bash语言,而是嵌入了其他语言,那么这个脚本就不能正确执行了。所以shell脚本都必须以“#!/bin/bash”开头。
注释
在shell脚本中,除“#!/bin/bash”这行外,其他行只要以“#”开头的都是注释。
程序的主体
linux的命令可以直接在脚本中执行。
执行脚本
赋予执行权限,直接运行
这种方法是最常用的shell脚本运行方法,也最为直接简单。就是赋予执行权限之后,直接运行。当然,运行时可以使用绝对路径,也可以使用相对路径。
如果将shell.sh放在path指定的目录内,这样就可以像linux系统命令一样,不用指定路径直接运行了。
赋予执行权限:
1 [root@localhost sh]# chmod 755 shell.sh
使用绝对路径执行:
1 [root@localhost sh]# /root/sh/shell.sh
使用相对路径执行:
1 [root@localhost sh]# ./shell.sh
通过bash命令调用运行脚本
这种方法的意思是直接使用bash或者sh去解释脚本中的内容,所以这个脚本也可以正常运行。使用这种方法运行脚本,甚至不需要脚本文件有“执行”权限,只要拥有“读”权就可以运行了。
因为/bin/sh其实就是/bin/bash的一个链接,使用 sh shell.sh 就是告诉系统想要直接以bash的功能来执行shell.sh。
使用bash命令执行:
1 [root@localhost sh]# bash shell.sh 2 [root@localhost sh]# sh shell.sh
使用source命令执行
source命令或者“.”命令可以读入脚本并执行脚本,即在当前shell环境中加载并执行的相关脚本文件的命令及语句,而不是产生一个子shell来执行文件中的命令。
该命令主要用于让重新配置的环境变量配置文件强制生效。
使用source命令执行:
1 [root@localhost sh]# . shell.sh 2 [root@localhost sh]# source shell.sh
编写一个脚本并执行
编写脚本
使用vim命令创建并修改脚本文件:
1 [root@localhost ~]# vim test.sh
在vim编辑器里输入脚本内容并保存:
1 #!/bin/bash 2 echo "hello world"
执行脚本
使用sh命令执行脚本:
1 [root@localhost ~]# sh test.sh 2 hello word 3 [root@localhost ~]#
下一篇: 1.个人总结收获和问题 2.就业方向思考