注意不能有控制,指令之间

【1】shell脚本的基础知识
(1)shell脚本的本质
编译型语言
解释型语言
shell脚本语言是解释型语言
shell脚本的本质
shell命令的有序集合
(2)shell 编程的基本过程
基本过程分为三步:
step1. 建立 shell 文件
包含任意多行操作系统命令或shell命令的文本文件;
step2. 赋予shell文件执行权限
用chmod命令修改权限;
step3. 执行shell文件
直接在命令行上调用shell程序.
(3)实例
step1: 建立shell文件 (可用任何建立文本文件的方法)
$ cat prog1.sh
date
Step2: 赋予执行权限: (初始文本文件无执行权限)
$ chmod 740 prog1.sh
Step3: 执行该shell程序
$ prog1.sh
prog1.sh: not found
(shell在标准搜索路径中找不到prog1.sh)
Step4: 指定路径或修改环境变量PATH后执行shell程序
$ ./prog1.sh
2009年 12月 16日 星期二 14:52:57 CST

  

变量是用$来定义,注意不能有空格

  

【2】shell变量
(1)shell变量
shell允许用户建立变量存储数据,但不支持数据类型(整型、字符、浮点型),
将任何赋给变量的值都解释为一串字符
Variable=value
a. count=1
b. echo $count
c. DATE=`date`
d. echo $DATE
(2) Bourne Shell有如下四种变量:
1) 用户自定义变量
2) 位置变量即命令行参数
3) 预定义变量
4) 环境变量
(3) 用户自定义变量
1) 在shell编程中通常使用全大写变量,方便识别
$ COUNT=1
2) 变量的调用:在变量前加$
$ echo $HOME
3) Linux Shell/bash从右向左赋值
$Y=y
$ X=$Y
$ echo $X
y
4) 使用unset命令删除变量的赋值
$ Z=hello
$ echo $Z
hello
$ unset Z
$ echo $Z
(4) 位置变量
$0 与键入的命令行一样,包含脚本文件名
$1,$2,……$9 分别包含第一个到第九个命令行参数
$# 包含命令行参数的个数
$@ 包含所有命令行参数:“$1,$2,……$9”
$? 包含前一个命令的退出状态
$* 包含所有命令行参数:“$1,$2,……$9”
$$ 包含正在执行进程的ID号
(5) 常用shell环境变量
HOME: /etc/passwd文件中列出的用户主目录
IFS:Internal Field Separator, 默认为空格,tab及换行符
PATH :shell搜索路径
PS1,PS2:默认提示符($)及换行提示符(>)
TERM:终端类型,常用的有vt100,ansi,vt200,xterm等

  

count=1
echo $count count='a'
echo $count count="aaaa"
echo $count count=1.1
echo $count DATE='date'
echo $DATE TEST='ifconfig'
echo $TEST echo "num:$#" #打印出来参数个数$#
echo "all paras:$*"打印出来参数有哪些 echo "all paras:$@"
echo "\$0 is $0"
echo "\$1 is $1"
echo "\$2 is $2"
echo "\$3 is $3"
echo "\$4 is $4"
echo "\$5 is $5"
echo "\$6 is $6"
echo "\$7 is $7"
echo "\$8 is $8"
echo "\$9 is $9"
echo "\$10 is ${10}" #注意当有2个的时候,需要有大括号
echo "\$11 is ${11}"

  

shell 脚本的基本定义的更多相关文章

  1. 【Shell脚本学习6】Shell变量:Shell变量的定义、删除变量、只读变量、变量类型

    Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编 ...

  2. shell脚本等的操作

    1.命令替换:`` 反向单引号,也称重音符.键盘上和~键在一起的那个键呦,千万不要敲成单引号. A. 使用了``后,shell首先替换输出中``括起来的date命令,然后执行整个输出命令. B.命令替 ...

  3. shell脚本中局部变量local

    shell脚本中局部变量 在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的变量和函数的变量的作用域问题可能令你费解,在这里梳理一下这个问题. (1)Shell脚本中定义的变量是gl ...

  4. linux下的shell脚本(基本)

    shell有些命令和格式不用老是容易忘,学而时习之,不亦说乎~ 先说明以下内容来自: http://c.biancheng.net/cpp/shell/ ,C语言中文网,请大家支持原作,点击链接查看. ...

  5. Shell脚本1

    1Shell编程 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell脚本 Shell 脚本(shell scr ...

  6. Shell脚本的学习笔记一:变量

    三种变量: 局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需 ...

  7. shell脚本学习-变量

    跟着RUNOOB网站的教程学习的笔记 shell变量 shell变量的命名 定义变量时,变量名不加美元符号($,PHP语言中需要),如: name="runoob" 注意,变量名与 ...

  8. shell脚本分析一

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界 ...

  9. 让shell脚本中的echo输出带颜色

    转载自:http://www.linuxidc.com/Linux/2014-12/110463.htm 让echo输出带颜色的方法有两种 1.在shell脚本中定义颜色变量,使用echo -e调用变 ...

随机推荐

  1. spring cloud中使用hystrix实现回退

    在微服务架构中,我们的服务被拆分成多个微服务,每个微服务完成自己的职责,微服务之间通过rpc或http进行调用.这个时候我们就要确保我们的服务高可用,但谁也说不准我们的服务能永远快速的提供服务.假如现 ...

  2. PSS--待看

    转载:浅谈可移植激励规范(PSS)复用策略_路科验证-CSDN博客 译者按 :当今硬件设计变得愈加复杂,如何创建出足够的测试来保证设计的正确性是每个硬件工程师需要面对的问题.Accellera的可移植 ...

  3. Luogu P1084 疫情控制 | 二分答案 贪心

    题目链接 观察题目,答案明显具有单调性. 因为如果用$x$小时能够控制疫情,那么用$(x+1)$小时也一定能控制疫情. 由此想到二分答案,将问题转换为判断用$x$小时是否能控制疫情. 对于那些在$x$ ...

  4. 使用google zxing生成二维码图片

    生成二维码工具类: 1 import java.awt.geom.AffineTransform; 2 import java.awt.image.AffineTransformOp; 3 impor ...

  5. 记录 mysql 使用时遇到的问题

    1,linux平台上mysqld和mysql的区别. 首先,mysql数据库是标准的c/s架构,yum安装时注意到了,有mysql和mysql-server包 mysql是客户端的工具,mysqld ...

  6. 『学了就忘』Linux基础命令 — 26、帮助命令

    目录 1.man命令 (1)man命令的快捷键 (2)man命令的帮助级别(了解即可) (3)man命令的使用 2.info命令 3.help命令 4.--help选项 1.man命令 man是最常见 ...

  7. Springboot+vue前后端分离项目,poi导出excel提供用户下载的解决方案

    因为我们做的是前后端分离项目 无法采用response.write直接将文件流写出 我们采用阿里云oss 进行保存 再返回的结果对象里面保存我们的文件地址 废话不多说,上代码 Springboot 第 ...

  8. Java学习(二十一)

    今天学的访问控制权限修饰符: 和c++比多了一个缺省,基本和c++功能一样,private多了一个同包的限制. 缺省的话是同包就可访问. 基本都学过,所以理解的也很快. 然后又把最近学得总结了一下: ...

  9. 菜鸡的Java笔记 第十五 this 关键字

    this 关键字                对于this关键字有三种用法:表示本类属性,调用本类方法,当前对象        this 关键字如何实现属性,方法的调用,以及对象本身的描述      ...

  10. 学不懂Netty?看不懂源码?不存在的,这篇文章手把手带你阅读Netty源码!

    阅读这篇文章之前,建议先阅读和这篇文章关联的内容. 1. 详细剖析分布式微服务架构下网络通信的底层实现原理(图解) 2. (年薪60W的技巧)工作了5年,你真的理解Netty以及为什么要用吗?(深度干 ...