Linux shell脚本编写
Linux shell脚本编写描述shell脚本是一些linux命令的集合,因为在Linux的shell中运行的,所以称为shell脚本;shell脚本由linux命令、bash shell命令、程序结构控制语句和注释等内容组成;shell脚本的方便之处在于:可以将所有的操作记录于文件,然后直接一步操作调用完成;编写规范编辑器的使用在linux系统中,shell脚本通常使用内置的vim编辑器编写;
·
Linux shell脚本编写
描述
shell脚本是一些linux命令的集合,因为在Linux的shell中运行的,所以称为shell脚本;
shell脚本由linux命令、bash shell命令、程序结构控制语句和注释等内容组成;
shell脚本的方便之处在于:可以将所有的操作记录于文件,然后直接一步操作调用完成;
编写规范
-
编辑器的使用
在linux系统中,shell脚本通常使用内置的vim
编辑器编写;
也可以在其他的支持shell语言的编辑器中编写后导入Linux系统; -
脚本开头(shebang/hashbang)
在计算领域中,Shebang(也称为 Hashbang)是一个由井号和叹号构成的字符序列#!
,其出现在文本文件的第一行的前两个字符。
在 Shebang 之后,可以有一个或数个空白字符,后接解释器的绝对路径,用于指明执行这个脚本文件的解释器;#! /bin/bash do smthing...
-
脚本注释
在shell脚本中,跟在#
号后面的内容表示注释,用来对脚本进行注释说明,注释部分不会被执行;
注释可自成一行,也可以直接跟在脚本命令后面;
开发脚本时,尽量养成书写注释的习惯,方便别人也方便自己,有利于团队的协作。 -
编写示例
[root@OpenWrtEXT:my_script]#cat core_auto_start.sh #!/bin/sh python -m rpd.tps --port 37 & # 注释:启动TPS服务 logfilename=master_log_$(date +%Y%m%d%H%M%S) # 注释:设置log文件名变量 python -m rpd.rcp.simulator.rcp_master_sim >logfilename 2>&1 & # 注释:启动服务,并将log信息写入log文件 [root@OpenWrtEXT:my_script]#
-
脚本运行
- 通过解释器+脚本方式运行
[root@OpenWrtEXT:my_script]#cat mytest.sh #!/bin/sh echo "this is a test shell!!!!" logfile_name=master_log_$(date +%Y%m%d%H%M%S) # create variable of log filename echo $logfile_name [root@OpenWrtEXT:my_script]#ll | grep my \-rw-r--r-- 1 root root 142 Jul 28 11:00 mytest.sh [root@OpenWrtEXT:my_script]#/bin/sh mytest.sh this is a test shell!!!! master_log_20210728110110 [root@OpenWrtEXT:my_script]#
- 给脚本增加执行权限直接运行
[root@OpenWrtEXT:my_script]#ll | grep my \-rw-r--r-- 1 root root 142 Jul 28 11:00 mytest.sh [root@OpenWrtEXT:my_script]#./mytest.sh # 未加执行权限时,无法直接运行 \-ash: ./mytest.sh: Permission denied [root@OpenWrtEXT:my_script]#chmod +x mytest.sh [root@OpenWrtEXT:my_script]#ll | grep my \-rwxr-xr-x 1 root root 142 Jul 28 11:00 mytest.sh [root@OpenWrtEXT:my_script]#./mytest.sh # 增加执行权限后,可以直接运行 this is a test shell!!!! master_log_20210728110315 [root@OpenWrtEXT:my_script]#
更多推荐
已为社区贡献2条内容
所有评论(0)