文章目录

  • 介绍:
  • 一、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编程常用命令总结(二)相关推荐

  1. Shell编程常用命令

    shell:简单.易用.高效,是一个内置的脚本,不需下载 什么是脚本:一条一条命令的堆积 shell 是一个程序,一般都是放在/bin或者/user/bin目录下,当前 Linux 系统可用的 She ...

  2. linux脚本基本命令大全,Shell脚本常用命令

    Shell脚本常用命令 1           Shell中的特殊符号 1.1           $  美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到" ...

  3. linux的编程命令,linux编程常用命令

    学习linux编程最基本的就是要掌握常用的编程命令,下面由学习啦小编为大家整理了linux编程常用命令相关知识,希望大家喜欢! linux编程常用命令1.编译应用程序 make -f makefile ...

  4. Dos批处理编程常用命令

    Dos批处理编程常用命令 打印输出交互 echo:打印输出.比如:echo 哈哈哈  就在dos页面里输出"哈哈哈" echo .:输出空行.[注意空格和点哈] echo off: ...

  5. docker 常用命令(二)——容器命令

    docker 常用命令(二) # 容器命令 注:有了镜像才可以创建并启动容器:本文在centos7.9下创建centos:latest 下载最新版centos: docker pull centos ...

  6. linux常用的命令shell,Linux操作系统Shell和常用命令汇总

    简述 本文主要介绍Shell和Linux常用命令. Shell Shell 是一个用 C 语言编写的应用程序,提供了用户访问Linux操作系统内核服务的界面,它可以用来启动.挂起.停止.编写程序.Sh ...

  7. Shell之常用命令(diff、path、cut、sort、uniq、tr、path)

    Shell之常用命令(diff.cut.sort.uniq.tr.path) diff命令 作用:比较两个文件或目录的不同 diff [options] target1 target2 比较结果读取方 ...

  8. Linux常见、常用命令(二)

    文章目录 一.cd命令 二.tree命令 三.mkdir命令 四.rmdir命令 五.touch命令 六.rm命令 七.cp命令 八.mv命令 九.echo命令 十.cat命令 十一.more命令 十 ...

  9. linux——编写Shell脚本常用命令:diff、patch、cut、sort、uniq、、||、test、tr

    diff 和 patch 命令帮助:diff –help | patch –help diff命令在最简单的情况下,比较给定的两个文件的不同.如果使用"-"代替"文件&q ...

最新文章

  1. 如何在CPU上优化GEMM(下)
  2. -bash: /bin/rm: Argument list too long的解决办法
  3. java并发核心知识体系精讲_JAVA核心知识汇总
  4. protobuf 2.5.0 编译jar
  5. C语言 03-第一个C程序代码分析
  6. python开发网络小工具_Python集成网络诊断小工具(含有ping,tracert,tcping等小工具)...
  7. Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略
  8. Selenium2(WebDriver)开发环境搭建(java版)
  9. Kevin专栏---如何制作试用版安装包
  10. 十进制转二进制 / 八进制 / 十六进制的手算方法,及其数学原理的通俗解释
  11. 【笔记】高效率但却没用过的一些numpy函数
  12. 用Python统计新浪微博各种表情使用频率
  13. 日记20190408 感知层数据格式
  14. SpringBoot Validation参数校验 详解自定义注解规则和分组校验
  15. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 B. Tomb Raider(二进制枚举)
  16. 将论文奇数页与偶数页页眉添加不同的下划线
  17. ArcGIS Server 发布服务失败
  18. css实现旋转的小箭头
  19. TensorFlow在win10上安装--精简教程
  20. 弱加密算法有哪几种_不安全的加密算法有哪几种

热门文章

  1. PHP面试-复习知识点整理
  2. 2018年11月25日ICPC焦作站参赛总结
  3. 苹果手机软件闪退怎么解决_王者荣耀筑梦祈愿闪退设备不支持怎么办 王者荣耀筑梦祈愿闪退设备不支持解决方法...
  4. 弗雷歇距离的原理及python代码实现(动态规划)
  5. dis的前缀单词有哪些_下面是总结的一些英语单词记忆前
  6. 8w 字,给程序员的职场第一课(上篇)
  7. 服装行业ERP系统有哪些基本功能?
  8. fatal The remote end hung up unexpectedly
  9. 批量发工资条小工具使用说明
  10. 【python】把Excel中的数据在页面中可视化