shell脚本编写及执行
2017-11-17 21:09
423 查看
一. 如何新建一个脚本
可以新建一个文件(touch),然后再用文本编辑器(vim)编辑文件。也可以使用vi+脚本名直接新建一个文件。脚本扩展名一般为 sh,不过扩展名并不影响脚本执行,只要见名知意就好。
二. 脚本开头
4000
/span>
三. 运行脚本
1. 作为可执行程序
例如脚本名为test.sh,给它添加可执行权限,然后运行脚本。
2. 作为解释器参数
脚本不需要在第一行标明解释器信息,而是直接运行解释器,其参数就是脚本名。
四. 练手小脚本
五. 注意
本文中的程序片段,如果以 #!/bin/bash开头,则是脚本内部编写的代码,否则就是在命令行里面输入的命令。
可以新建一个文件(touch),然后再用文本编辑器(vim)编辑文件。也可以使用vi+脚本名直接新建一个文件。脚本扩展名一般为 sh,不过扩展名并不影响脚本执行,只要见名知意就好。
二. 脚本开头
#!/bin/bash echo "Hello World !"#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。<
4000
/span>
三. 运行脚本
1. 作为可执行程序
例如脚本名为test.sh,给它添加可执行权限,然后运行脚本。
chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本运行脚本时一定要写 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
2. 作为解释器参数
脚本不需要在第一行标明解释器信息,而是直接运行解释器,其参数就是脚本名。
/bin/sh test.sh
四. 练手小脚本
#!/bin/bash #author:ednah #date:2017/11/14 # 以"#"开头的行就是注释,会被解释器忽略。 echo "hello!" echo "当前所在路径:" pwd echo "路径下有下列文件:" ls -lh echo "当前操作系统为:" uname echo "当前日期:" date echo "当前这个月的日历为:" cal # 向shell脚本内传递参数 echo "Shell pass parameter instance:" # $0 为执行的文件名 echo "the name of the file which is carried out is :$0" # 脚本内获取参数的格式为:$n。 echo "First parameter is $1" echo "The second parameter is $2" # $#传递到脚本的参数个数 echo "the number of the parameter is $#" echo "the parameters are $*" # 循环 echo "输入 1 到 4 之间的数字:" echo "你输入的数字为:" # 读入一个值 read aNum case $aNum in 1) echo "你选择了 1" ;; 2) echo "你选择了 2" ;; 3) echo "你选择了 3" ;; 4) echo "你选择了 4" ;; # 如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。 *) echo "你没有输入 1 到 4 之间的数字" ;; esac echo "------------------Function demo---------------" demoFun(){ echo "This function will add the two numbers" echo "Enter the first number: " read aNum echo "Enter the second number: " read bNum echo "The two numbers are $aNum and $bNum" return $(($aNum+$bNum)) } demoFun echo "The sum of the two numbers is $? !"
五. 注意
本文中的程序片段,如果以 #!/bin/bash开头,则是脚本内部编写的代码,否则就是在命令行里面输入的命令。
相关文章推荐
- sublime text 3编写shell脚本执行报$'\r': command not found
- Shell 学习(一、编写shell脚本和执行)
- Shell脚本编写和执行
- Notepad++编写的shell脚本在linux下无法执行的解决方法
- 170509、文本编辑器编写的shell脚本在linux下无法执行的解决方法
- 编写shell脚本和执行
- linux 使用文本编辑器编写shell脚本执行权限不够
- 运维之shell篇------1. Shell概述 、 编写及执行脚本 、 Shell变量
- linux执行windows编写的shell脚本出错
- Linux 开机启动的 执行rc脚本(shell编写)的顺序
- shell 为jar文件,编写可执行启动脚本
- 在ubuntu下编写运行shell脚本
- 工作中编写shell脚本设计到相关信息
- Java程序SSH远程执行Shell脚本
- 编写shell脚本的一点经验总结
- 如何编写bat脚本定时执行某python脚本
- notepad++执行shell脚本设置
- 20.2 shell脚本结构和执行
- linux 定时执行shell脚本 定时任务