shell脚本初识别

1、什么是shell

? shell 是一个命令解释器、用户输入命令,解释器负责解释给内核,将处理后的结果反馈给用户。

2、交互式与非交互式

- 交互式shell:用户输入命令,解释器解释把处理后的结果反馈给用户的过程称之为交互式。
- 非交互式shell:shell执行文本中的命令 当执行到文件的末尾 bash退出
  父shell 不能继承子shell变量 子shell可继承父shell变量。

3、shell脚本的书写规范

?     (1)   目录统一
?     (2)   shell脚本的结尾要以.sh结尾
?     (3)   脚本的开头需要有解释器 /bin/bash /bin/sh
?     (4)   脚本中需要有作者信息 #Author lzy date version 做什么的
?     (5)   脚本每行 或者 一个语句 给一个注释
?     (6)   shell中的文字尽量使用英文 py都是中文
?     (7)   成对的符号一次性书写完毕 语句

4、shell脚本能做什么?

?     基础配置、安装程序、配置变更、业务部署、日常备份、信息采集、日志分析、服务扩容、服务缩容。

shell的主要作用是简化操作步骤,提高效率,减少人为干预,减少系统故障。

5、shell脚本预备知识

?   1、熟练使用vim编辑器

?   2、熟练使用linux基础命令

?   3、熟练使用linux三剑客

?   4、基础命令+基础服务+练习+思路

? 5、能看懂shell脚本-->修改-->编写

    ?           练习+思路+分享

6、#!/usr/bin/bash 加与不加区别在哪?

?   1、如果你明确清楚这是一个什么类型的脚本,直接调用对应的解释器执行

?   2、如果你不清楚这是什么类型的脚本,直接使用./执行,那么会执行该脚本的第一行。如果第一行是#!/usr/bin/bash 或者没有写该行,那么都将使用默认的bash翻译。

?   问题:如果我是Python脚本,没有写开头,那么一定会报错

? 默认查找的是bash解释器,而我的文件需要用Python解释器来翻译。

7、什么是变量

?   变量是shell中传递数据的一种方法,简单的来说就是用一个固定的字符串表示一个不固定的值,便于后续引用。

 8、定义变量的范围

?   1、大写开头,后面小写或者数字都OK

?   2、变量具有一定的含义

?   3、注意变量的写法 仅支持a=1

自定义变量

  var="hello world"

  echo $var

  echo ${var}_log

 $* 和 [email protected] 的区别

  可以看到不加引号时,二者都是返回传入的参数,但加了引号后,此时$*把参数作为一个字符串整体(单字符串)返回,[email protected]把每个参数作为一个字符串返回.

原文地址:https://www.cnblogs.com/wangyongqiang/p/11755289.html

时间: 2024-10-11 11:34:57

shell脚本初识别的相关文章

shell脚本初体验

今天学习了下写shell脚本,有点激动,特此记录下(其实不难写嘛) 原因: 现在做的项目,需要多工程依赖,但是麻烦的是,并没有将多个工程自动关联上...所以,每次操作,就是先切到A 工程目录 下,更新代码,然后mvn打包..然后,切到B工程,同样更新代码,打包,...如此循环,最后才能将最终包安装至我的手机上...如此累!!多么繁杂又重复的步骤. 于是,写了个shell脚本(package.sh),帮我打包,帮我安装..yeah! ################################

Linux就该这么学——编写SHELL脚本

初识SHELL Shell脚本命令的工作方式: 交互式 : 用户每输入一条命令就会立即执行 批处理 : 由用户事先编好一个完整的SHELL脚本,shell脚本会一次性执行脚本中诸多的命令. 注: 1.查看SHELL变量可以发现当前系统已经默认使用Bash作为命令终端解释器了; 2.可以把SHELL终端解释器当做人与计算机之间的”翻译官”,它作为用户与Linux系统内部的通信媒介,除了能够支持各种变量与参数外,还提供诸如循环,分支等高级编程语言才有的控制结构特性. SHELL脚本初体验之我的第一个

Shell脚本编程初体验

Shell脚本编程初体验 分类 编程技术 通 常,当人们提到"shell脚本语言"时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言.脚本语言是与计算机 交流的另外一种途径.使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移动鼠标并点击各种对象,比如按钮.列表.选框等等.但 这种方式在每次用户想要计算机/服务器完成相同任务时(比如说批量转换照片,或者下载新的电影.mp3等)却是十分不方便.要想让所有这些事情变得简单并 且自动

Linux问题:Crontab 执行shell脚本时相对路径的问题,不能识别。

问题描述:在linux中的直接执行shell脚本可以用相对路径找到文件,但是如果通过计划任务crontab执行shell脚本时,却不能通过相对路径找到文件! 例子: shell脚本文件代码~ #! /bin/sh Logfile = './1.txt'; date >> $Logfile; echo '------'; 直接执行shell脚本,可以在1.txt文件中看到执行结果,但是如果用crontab计划任务去执行,却在1.txt中看不到执行结果.换成绝对路径就可以,代码如下 #! /bin

shell 脚本-符号-基础语法

为了便于识别  建议 以.sh 结尾 shell脚本 可以放上所有的命令行的指令(源于bash) shell脚本 是 解释型语言      c/c++ 是编译型语言 下面用到的 shell代码sh_1.sh #!/bin/bash cd ../ ls pwd 解释型脚本的执行过程: script.sh 是文本文件,根本没有代码段和 _start  函数 , exec 怎么执行. 解释: Shell会fork 一个子进程并调用 exec执行 ./script.sh这个程序,exec 系统调用应该把

shell脚本基础

一.什么是shell shell既是一个可执行程序,又是一种程序设计语言.作为执行程序,它交互式地解释和执行用户输入的命令,是用户和Unix/Linux沟通的桥梁:作为程序设计语言,它可以定义变量和参数,在一定程度具备编程的能力.虽然不属于系统内核的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用程序. 二.shell类型 三.shell脚本在编程程序语言中的分类 bash中的弱类型相对于强类型变量带来三个改

Shell脚本编程30分钟入门

什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done 示例解释 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2行:切换到当前用户的home目录 第3行:创建一个目录shell_tut 第4行:切换到shell_tut目录 第5行:循环条件,一共循环10次 第6行:创建一个test_1…10.txt文件 第7

shell脚本编程-结构化命令2-for命令

1.for命令 (1)语法 for val in list; do commands done  list参数提供了一些列用于迭代的值,val值依次赋值为list中的值,知道list轮询结束. commands可以是一条或多条shell命令,echo $val可以查看当前循环的值 (2)读取列表中的值 $cat test #!/bin/bash # basic for command for test in A B C; do echo the next val is $test done $.

BeagleBone Black板第五课:Shell脚本编程实验

BBB板第五课:Shell脚本编程实验 在一上课我们通过简单的echo命令测试并控制GPIO端口的高低电平输出,实现对一个LED指示灯的点亮和关闭控制,本节将通过Shell脚本编程,来完成两个LED指示灯的交替闪亮的实验. 实验器材:准备两个二极管指示灯,面包板等 使用GPIO端口P8.12和P8.11两个引脚 我们暂时不借助其他工具软件,直接远程登陆到BBB板的图形桌面,使用内置的Ledfpad编辑器来完成Shell脚本的编程. 远程登陆BBB板图形桌面还记得吧,不记得话参考前面的课程,这里就