美文网首页
Shell入门介绍

Shell入门介绍

作者: 小太阳919 | 来源:发表于2020-04-01 14:51 被阅读0次

Shell脚本执行方式

1、作为可执行程序
将上面的代码保存为 test.sh,并 cd 到相应目录:

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本

注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
2、作为解释器参数
这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:

/bin/sh test.sh
/bin/php test.php

这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。

Shell基本语法

变量

name="Rephontil"
方式one  --->   echo $name
方式two  --->   echo ${name}

⚠️变量名和等号之间不能有空格,这与我们之前熟悉的所有编程语言都不一样(足以奇葩)。

数组

定义数组
在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:数组名=(值1 值2 ... 值n)
如:nameArr=("football" "足球" "篮球" "羽毛球")
读取数组
读取数组元素值的一般格式是:
[图片上传失败...(image-d7bee2-1585723762730)]

{nameArr[0]} -> football
使用@符号可以获取数组中的所有元素,例如:
echo ${nameArr[@]} -> football 足球 篮球 羽毛球

# 取得数组元素的个数
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
length=${#array_name[n]}

注释

以"#"开头的行就是注释,会被解释器忽略。

sh里没有多行注释,只能每一行加一个#号。
如果在开发过程中,遇到大段的代码需要临时注释起来,过一会儿又取消注释,怎么办呢?

每一行加个"#"符号太费力了,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。

传递参数

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";

在终端执行脚本后log如下(1 2 3为我们传入的3个参数):
Rephontil:Shell zhouyong$ /bin/sh test.sh 1 2 3
Shell 传递参数实例!
执行的文件名:test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3

注:其中 $0 为执行的文件名。
另外,还有几个特殊字符用来处理参数,下表所列:


image.png

相关文章

  • shell入门学习(1)——语法基础

    本文为转载,原文:shell入门学习(1)——语法基础 介绍 Shell Script,Shell脚本与Windo...

  • Shell入门介绍

    Shell脚本执行方式 1、作为可执行程序将上面的代码保存为 test.sh,并 cd 到相应目录: 注意,一定要...

  • shell脚本基础(一)

    这片文章是基于Shell脚本编程30分钟入门的入门基础,简要介绍shell的一些常用需要注意的语法基础。请务必熟悉...

  • Shell 脚本入门: 介绍

    本文要点 linux 系统是如何操作计算机硬件 cpu, 内存, 磁盘, 显示器等 Shell 是什么 Shel...

  • Shell 编程,一篇就够了

    本文首先介绍了 Shell 编程是什么,并带大家快速入门,随后讲解 Shell 的基本语法并结合案例重点分析用法,...

  • Shell 概述

    学习 Shell 主要包括的内容: Shell 脚本入门 Shell 变量 Shell 内置命令 Shell 运算...

  • shell基础

    shell入门

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • bash入门

    Bourne-Again SHell; Born Again SHell Introduction 写作“入门”,...

  • Spark快速入门

    Spark快速入门 本教程提供了如何使用 Spark 的简要介绍。首先通过运行 Spark 交互式的 shell(...

网友评论

      本文标题:Shell入门介绍

      本文链接:https://www.haomeiwen.com/subject/efqauhtx.html