shell脚本命令格式注意点

1、大部分的Linux系统默认配置bash。对比sh,bash扩展了一些命令和参数,并且保留对sh的一些兼容。除了bash、sh还有csh(语法类似C语言)、tcsh(csh升级版)、ash(适合低内存环境)

2、脚本开头 #!/bin/sh , #!必须有,后面跟上的是shell的路径

3、变量赋值和取值

(1) Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,这一点和大部分的编程语言不同。

variable=value  注意:赋值号左右不能留空格

(2) $后面跟上变量表示读取变量里面的值,特殊情况可以加上{}表示变量的边界

输出结果:

(3) 单引号和双引号的区别:以单引号‘ ‘包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量也会把它们原样输出,双引号内的变量才会取值输出

输出结果:

4、Linux命令结果赋值:用反引号(Esc下面、tab上面的点)表示

输出结果:

5、运算符:

(1) expr :后面跟上需要运算的算法,需要用反引号,每个参数间要有空格

(2) $((  )): 算法要有空格

(3) let: 算法不能有空格

输出结果:

6、数组定义

(1) 或者

(2) 取值:

7、If...else...if: 和常用编程语言的区别在于结束是用fi表示,每个条件后面要加上then,

(1) 方括号([ ])内的参数之间必须有空格

(2) 多条件判断

8、 case ... esac :类似其他语言的switch ... case,case工作方式如上所示。取值后面必须为关键字 in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。

9、While 循环

10、Shell 函数:可以将可能重复用到的命令封装成一个函数,函数可以带返回值,函数内用return返回,函数外用$?接收返回值。Shell 函数返回值只能是整数,一般用来表示函数执行成功与否,0表示成功,其他值表示失败。如果 return 其他数据,比如一个字符串,往往会得到错误提示:“numeric argument required”。

如果有需要返回其他类型的值,可以在外部定义一个变量,来接受结果。

11、参数:shell脚本可以带参数,在脚本中,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...

12、“#”井号表示注释

13、特殊字符


特殊变量


说明


$#


传递给函数的参数个数。


$*


显示所有传递给函数的参数


$?


函数的返回值。


$0


当前脚本的文件名


$$


当前Shell进程ID


-eq


检测两个数是否相等,相等返回 true。


-ne


检测两个数是否相等,不相等返回 true。


-gt


检测左边的数是否大于右边的,如果是,则返回 true。


-lt


检测左边的数是否小于右边的,如果是,则返回 true


-ge


检测左边的数是否大等于右边的,如果是,则返回 true。


-le


检测左边的数是否小于等于右边的,如果是,则返回 true

原文地址:https://www.cnblogs.com/pigge/p/9914785.html

时间: 2024-09-29 19:34:10

shell脚本命令格式注意点的相关文章

二. 第六单元.shell脚本命令

###########################二. 第六单元.shell脚本命令############################# 1.diff diff        file file1            ##比较两个文件的不同        -c                        ##显示周围的行        -u                        ##按照一定格式统一输出生成补丁        -r                      

linux 基础 shell脚本命令

#########shell脚本命令#### 1.diff diff      file file1             ####比较两个文件的不同 -c                         ####显示周围的行 -u                         ####按照一格式统一输出生成补丁 -r                         ####比较两个文件的不同 patch       file file.path       ####打补丁 -b      

shell脚本命令

####################### ####6.shell脚本命令#### ####################### ####1.diff#### diff file file1##比较两个文件的不同 -c##显示周围的行 -u##按照一格式统一输出生成补丁 -r##比较两个目录中文件的不同 patchfilefile.path##打补丁 -b##备份原文件 ####2.grep#### grep关键字符文件|目录##在文件或目录中查找含有关键字的行 grep-i##忽略大小写

Linux 定时执行shell脚本命令之crontab

crontab可以在指定的时间执行一个shell脚本以及执行一系列Linux命令 例如:服务器管理员定时备份数据库数据.日志等 详解: 常用命令: crontab –e //修改 crontab 文件,如果文件不存在会自动创建. crontab –l //显示 crontab 文件. crontab -r //删除 crontab 文件. crontab -ir //删除 crontab 文件前提醒用户. service crond status //查看crontab服务状态 service

shell脚本规范格式

#!/bin/bash #Date   :写作时间 2016-11-22 15:04:12 ##date "+%Y-%m-%d %H:%M:%S" #Author      :作者 #Mail    :邮箱 [email protected] #Function   :脚本介绍 #Version     :版本 V1.1 #Update           :脚本修改更新时间 6.1.1      版本和运行参数: 1) 脚本开发前,在脚本的开头以注释形式标清脚本版本号 2) 为脚本添

Linux中执行shell脚本命令的4种方法总结

bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在

前端自动化 shell 脚本命令 与 shell-node 脚本命令 简单使用 之 es6 转译

(背景: 先用 babel 转译 es6 再 用 browserify 打包 模块化文件,来解决浏览器不支持模块化 )(Browserify是一个让node模块可以用在浏览器中的神奇工具) 今天折腾了一上午,对于前端好多自动化管理的命令用起来,步骤甚多,故想写一个脚本文件,将项目所需要执行到命令 都 写在一个脚本文件中,在命令行 只需写一个命令即 完成所有事情.配置的环境: node + git1.第一步:在项目根目录下 新建 package.json 配置文件 { "name": &

Shell脚本命令图片

查看相关文档:shell脚本1  shell脚本2 原文地址:https://www.cnblogs.com/JBLi/p/10697864.html

shell脚本命令行参数里的空白符

看一个小脚本 #!/bin/bash #demonstarting the shift command count=1 while [ -n "$1" ] ; do echo "Parameter #$count=$1" count=$[ $count + 1 ] shift done echo echo 这个脚本首先测试第一个参数是否存在 -n "$1" ,存在的话打印,然后所有参数向左移动一个位置,变量$1的值会被覆盖,变量$0(也就是程序名