shell编程常用命令总结(二)
文章目录
- 介绍:
- 一、shell脚本
- 二、shell变量
- 三、向shell脚本传递参数
- 四、shell 数组
- 五、shell运算符
- 六、Shell echo命令
- 七、Shell test 命令
- 八、Shell 流程控制
- 九、Shell 函数
- 十、Shell文件包含
介绍:
shell:简单、易用、高效,是一个内置的脚本,不需下载
什么是脚本:一条一条命令的堆积
shell 是一个程序,一般都是放在/bin或者/user/bin目录下,当前 Linux 系统可用的 Shell 都记录在/etc/shells文件中。/etc/shells是一个纯文本文件,你可以在图形界面下打开它,也可以使用 cat 命令查看它。
在现代的 Linux 上,sh 已经被 bash( Bourne Again Shell) 代替,/bin/sh往往是指向/bin/bash的符号链接。 所谓的符号链接就是软连接。
一、shell脚本
(1)新建shell脚本:
vim test.shtest.sh内容#!/bin/bash
echo "Hello World !"
test.sh,扩展名为 sh(sh代表shell)
(2)执行shell脚本
./test.sh #执行脚本
(3)Shell 注释
以 #
开头的行就是注释,会被解释器忽略。
# 这是一个注释
多行注释
:<<'
注释内容
注释内容
注释内容
'# 或:<<!
注释内容
注释内容
注释内容
!
二、shell变量
(1)定义变量时,变量名不加美元符号($,PHP语言中变量需要)
,如:
str = "shell"
变量名的命名须遵循如下规则:命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。
(2)使用变量
使用一个定义过的变量,只要在变量名前面加美元符号即可
,如:
your_name="qinjx"
echo $your_name
echo ${your_name}
变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界
,比如下面这种情况:
for skill in Ada Coffe Action Java; doecho "I am good at ${skill}Script"
done
(3)删除变量
使用 unset 命令可以删除变量。
语法:
unset variable_name
变量被删除后不能再次使用。unset 命令不能删除只读变量 readonly myUrl (myUrl就是一个只读变量)
。
(4)字符串
字符串是shell编程中最常用最有用的数据类型字符串可以用单引号,也可以用双引号
。
三、向shell脚本传递参数
这里向test.sh脚本传递了三个参数,分别是 1 2 3
$ ./test.sh 1 2 3
四、shell 数组
Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小
。
my_array=(A B C D)
五、shell运算符
Shell 基本运算符
六、Shell echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo "It is a test"
Shell printf 命令和echo命令类似,都是文本输出
。
七、Shell test 命令
Shell中的 test 命令用于检查某个条件是否成立
,它可以进行数值、字符和文件三个方面的测试。
八、Shell 流程控制
(1)if else
a=10
b=20
if [ $a == $b ]
thenecho "a 等于 b"
elif [ $a -gt $b ]
thenecho "a 大于 b"
elif [ $a -lt $b ]
thenecho "a 小于 b"
elseecho "没有符合的条件"
fi
(2)for 循环
for loop in 1 2 3 4 5
doecho "The value is: $loop"
done
(3)while 语句
#!/bin/bash
int=1
while(( $int<=5 ))
doecho $intlet "int++"
done
(4)until 循环
until 循环执行一系列命令直至条件为 true 时停止
。
#!/bin/basha=0until [ ! $a -lt 10 ] #lt表示小于,当a不小于10时为true
doecho $a #输出0~9a=`expr $a + 1`
done
数值运算符:
-eq //等于-ne //不等于-gt //大于 (greater )-lt //小于 (less)-ge //大于等于-le //小于等于
(5)case
Shell case语句为多选择语句,case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构
。
echo '输入 1 到 4 之间的数字:'
echo '你输入的数字为:'
read aNum
case $aNum in1) echo '你选择了 1';;2) echo '你选择了 2';;3) echo '你选择了 3';;4) echo '你选择了 4';;*) echo '你没有输入 1 到 4 之间的数字';;
esac
(6)跳出循环
在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue
。
九、Shell 函数
#!/bin/bashfunWithReturn(){echo "这个函数会对输入的两个数字进行相加运算..."echo "输入第一个数字: "read aNumecho "输入第二个数字: "read anotherNumecho "两个数字分别为 $aNum 和 $anotherNum !"return $(($aNum+$anotherNum))
}
funWithReturn # 调用函数
echo "输入的两个数字之和为 $? !"
函数参数
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数…
带参数的函数示例:
#!/bin/bashfunWithParam(){echo "第一个参数为 $1 !"echo "第二个参数为 $2 !"echo "第十个参数为 $10 !"echo "第十个参数为 ${10} !"echo "第十一个参数为 ${11} !"echo "参数总数有 $# 个!"echo "作为一个字符串输出所有参数 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73 # 向函数中传递参数
十、Shell文件包含
和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。
在test2.sh中引用test1.sh文件:
#使用 . 号来引用test1.sh 文件
. ./test1.sh
shell编程常用命令总结(二)相关推荐
- Shell编程常用命令
shell:简单.易用.高效,是一个内置的脚本,不需下载 什么是脚本:一条一条命令的堆积 shell 是一个程序,一般都是放在/bin或者/user/bin目录下,当前 Linux 系统可用的 She ...
- linux脚本基本命令大全,Shell脚本常用命令
Shell脚本常用命令 1 Shell中的特殊符号 1.1 $ 美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到" ...
- linux的编程命令,linux编程常用命令
学习linux编程最基本的就是要掌握常用的编程命令,下面由学习啦小编为大家整理了linux编程常用命令相关知识,希望大家喜欢! linux编程常用命令1.编译应用程序 make -f makefile ...
- Dos批处理编程常用命令
Dos批处理编程常用命令 打印输出交互 echo:打印输出.比如:echo 哈哈哈 就在dos页面里输出"哈哈哈" echo .:输出空行.[注意空格和点哈] echo off: ...
- docker 常用命令(二)——容器命令
docker 常用命令(二) # 容器命令 注:有了镜像才可以创建并启动容器:本文在centos7.9下创建centos:latest 下载最新版centos: docker pull centos ...
- linux常用的命令shell,Linux操作系统Shell和常用命令汇总
简述 本文主要介绍Shell和Linux常用命令. Shell Shell 是一个用 C 语言编写的应用程序,提供了用户访问Linux操作系统内核服务的界面,它可以用来启动.挂起.停止.编写程序.Sh ...
- Shell之常用命令(diff、path、cut、sort、uniq、tr、path)
Shell之常用命令(diff.cut.sort.uniq.tr.path) diff命令 作用:比较两个文件或目录的不同 diff [options] target1 target2 比较结果读取方 ...
- Linux常见、常用命令(二)
文章目录 一.cd命令 二.tree命令 三.mkdir命令 四.rmdir命令 五.touch命令 六.rm命令 七.cp命令 八.mv命令 九.echo命令 十.cat命令 十一.more命令 十 ...
- linux——编写Shell脚本常用命令:diff、patch、cut、sort、uniq、、||、test、tr
diff 和 patch 命令帮助:diff –help | patch –help diff命令在最简单的情况下,比较给定的两个文件的不同.如果使用"-"代替"文件&q ...
最新文章
- 如何在CPU上优化GEMM(下)
- -bash: /bin/rm: Argument list too long的解决办法
- java并发核心知识体系精讲_JAVA核心知识汇总
- protobuf 2.5.0 编译jar
- C语言 03-第一个C程序代码分析
- python开发网络小工具_Python集成网络诊断小工具(含有ping,tracert,tcping等小工具)...
- Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略
- Selenium2(WebDriver)开发环境搭建(java版)
- Kevin专栏---如何制作试用版安装包
- 十进制转二进制 / 八进制 / 十六进制的手算方法,及其数学原理的通俗解释
- 【笔记】高效率但却没用过的一些numpy函数
- 用Python统计新浪微博各种表情使用频率
- 日记20190408 感知层数据格式
- SpringBoot Validation参数校验 详解自定义注解规则和分组校验
- ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 B. Tomb Raider(二进制枚举)
- 将论文奇数页与偶数页页眉添加不同的下划线
- ArcGIS Server 发布服务失败
- css实现旋转的小箭头
- TensorFlow在win10上安装--精简教程
- 弱加密算法有哪几种_不安全的加密算法有哪几种
热门文章
- PHP面试-复习知识点整理
- 2018年11月25日ICPC焦作站参赛总结
- 苹果手机软件闪退怎么解决_王者荣耀筑梦祈愿闪退设备不支持怎么办 王者荣耀筑梦祈愿闪退设备不支持解决方法...
- 弗雷歇距离的原理及python代码实现(动态规划)
- dis的前缀单词有哪些_下面是总结的一些英语单词记忆前
- 8w 字,给程序员的职场第一课(上篇)
- 服装行业ERP系统有哪些基本功能?
- fatal The remote end hung up unexpectedly
- 批量发工资条小工具使用说明
- 【python】把Excel中的数据在页面中可视化