shell脚本语言用法

shell程序运行:

1、./xx.sh。这样运行shell要求shell程序必须具有可执行权限。chmod a+x xx.sh来添加可执行权限。

2、source xx.sh。

3、bash xx.sh,bash是一个脚本程序解释器,本质上是一个可执行程序。这样执行相当于我们执行了bash程序,然后把xx.sh作为argv[1]传给他运行。

if的典型应用
判断文件是否存在。(-f),注意[]里面前后都有空格,不能省略。
判断目录是否存在 (-d)
判断字符串是否相等("str1" = "str2"),注意用一个等号而不是两个
判断数字是否相等(-eq)、大于(-gt)、小于(-lt)、大于等于(-ge)、小于等于(-le) 回忆一下在ARM裸机中讲述ARM汇编条件执行时,曾经用过这些条件判断的缩写。(eq就是equal,gt就是greater than,lt就是less than,ge就是greater or equal,le就是less or equal)
判断字符串是否为空(-z)注意-z判断时如果变量本身没定义也是不成立(也就是说-z认为没定义不等于为空)

case语句
(1)shell中的case语句和C语言中的switch case语句作用一样,格式略有差异
(2)shell中的case语句天生没有break,也不需要break,和C语言中的switch case不同。shell中的case默认就是匹配上哪个执行哪个,不会说执行完了还去执行后面的其他case(就好像shell中的case语言默认都带了break)。

shell程序本身也可以在调用时传参。$#表示调用该shell时传参的个数($#计数时只考虑真正的参数个数)。$0、$1、$2·····则依次表示传参的各个参数。

while循环中内嵌case语句时,case中的break是跳出外层的while循环的,不是用来跳出case语句的。

shell中的$# $1等内置变量的值不是不可变的,而是可以被改变,被shift指令改变。shift指令有点像C语言中的左移运算符,把我们给shell程序的传参左移了一个移出去了,原来的$2变成了新的$1,原来的$#少了1个。

时间: 2024-12-22 11:11:51

shell脚本语言用法的相关文章

shell脚本语言基本语法学习

Qiniu 七牛问题解答 shell脚本语言入门 问题解决方案 Shell日常学习 Cd / 进入到根目录 Pwd 当前目录结构 Tab 模糊查找补全命令 Ifconfg 查看当前网络的信息 *?[] 通配符 方便查询 星花* 匹配多个 ls *.tar ?匹配单个 ls m??? [ ] ls m* [od] 列出以m开头结尾为od 的目录火文件 Ls x* [0-9] Ls g *[m-p] 目录操作命令: 当前工作目录:pwd 进入主目录:cd ~ 列出文件类型:ls -F 列出隐藏文件:

shell脚本语言基本命令

shell脚本语言基本命令脚本:可运行,不需要编译 #vi 1.sh[编写:i(顶格)或o(换一行)]#! /bin/bash##this is a test shell script##Written by yuanting 2018-09-26echo "123456789"touch 2121.txtdate:wq 或 :x#ll 1.sh#bash 1.sh #运行#./1.sh #运行#chmod 777 1.sh #ll 1.sh #./1.sh#ls #sh -x 1.s

查看CentOS系统shell脚本语言支持的种类

1,使用cat /etc/shells 可以看到当前系统支持的shell脚本语言支持的种类 备注:Linux系统中的主流Shell是bash,bash是由Bourne Shell(sh)发展而来的,同时bash还包含了csh和ksh的特色,但大多数脚本都可以不加修改地在sh上运行,如果使用了sh后发现结果和预期有差异,那么可以尝试用bash替代sh. 2,查看当前系统默认使用的shell命令如下或者查看系统的用户信息文件也可以看到 原文地址:http://blog.51cto.com/13718

Shell脚本语言与编译型语言的差异

大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言. 编译型语言 很多传统的程序设计语言,例如Fortran.Ada.Pascal.C.C++和Java,都是编译型语言.这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”. 运行程序时,直接读取目标代码(object code).由于编译后的目标代码(object code)非常接近计算机底层,因此执行效率很高,这是编译型语言的优点. 但是,由于编译型语言多半运

【转】shell 教程——03 Shell脚本语言与编译型语言的差异

大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言. 编译型语言 很多传统的程序设计语言,例如Fortran.Ada.Pascal.C.C++和Java,都是编译型语言.这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”. 运行程序时,直接读取目标代码(object code).由于编译后的目标代码(object code)非常接近计算机底层,因此执行效率很高,这是编译型语言的优点. 但是,由于编译型语言多半运

Shell 学习3 - Shell脚本语言与编译型语言的差异

大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言. 编译型语言 很多传统的程序设计语言,例如Fortran.Ada.Pascal.C.C++和Java,都是编译型语言.这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作"编译". 运行程序时,直接读取目标代码(object code).由于编译后的目标代码(object code)非常接近计算机底层,因此执行效率很高,这是编译型语言的优点. 但是,由于编译型

Shell脚本语言学习总结

Shell 是一种脚本程序,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了. 编写第一个Shell 程序 在linux命令行执行 [[email protected] test]# echo "我的第n个shell 程序" 我的第n个shell 程序 打开文本编辑器, 新疆一个名称为xxx.sh的文件,例如:test.sh #!/bin/bash echo "Hello Word !" #编辑完成后使用命令,使test.sh脚本具有执行权限:c

php类似shell脚本的用法

参考: http://www.cnblogs.com/myjavawork/articles/1869205.html php还可以用于类似于shell脚本,哈哈,对编程语言和对整个计算机系统的认识又多了一个角度! ---------------------------------------------------------------------- 除此之外,我们还有另一个方法将 PHP 用于外壳脚本.您可以在写一个脚本,并在第一行以 #!/usr/bin/php 开头,在其后加上以 PH

1.初识Shell脚本语言

PS:在做基于Linux系统的STM8固件升级项目中,需要让CPU通过I2C总线给STM8传输数据,刚开始一个一个的敲,很浪费时间,后来考虑到用shell脚本,虽然shell脚本用得非常简单,但是作用却不小,大大提高了数据传输效率. 1.vi编辑器的使用 vi编辑器有两种模式,命令模式和输入模式.输入命令:vim test.sh,回车,即可进入命令模式,此时不能进行编辑,需要输入i进入输入模式.输入完之后按wq保存退出,按q不保存退出.(vim是vi的增强版) 2.给文件权限 方法1:chmod