SHELL脚本基础速览

变量的赋值:

Shell变量赋值从右到左进进行赋值


格式:NAME=value

变量的声明:
 
export
变量名


 export NAME=value

SHELL脚本基础速览

declare –x 变量名

declare –x NAME=value

SHELL脚本基础速览

 

readonly 变量名
 

特定情况下需要使用到只读变量


readonly NAME=value


  SHELL脚本基础速览
变量的调用:

 

在变量前加$,即可在一定环境下使用

  SHELL脚本基础速览
 
 若变量和其他字符组成新的字,这时就必须给变量加上大括号{},以更加清楚的显示给shell,哪个是真正的变量,加以区分。

SHELL脚本基础速览

显示变量值
echo
命令:需要注意的是,使用变量的时候必须在变量名前加上$符号。

SHELL脚本基础速览

set命令:显示所有本地SHELL变量。包括SHELL中预定义了一些环境变量,且用户自己已经定义过的本地变量也会在其中显示。
  SHELL脚本基础速览


4
,使用unset命令删除变量的赋值
 
SHELL脚本基础速览

Shell参数
 
$# 是传给脚本的参数个数

 

$0 是脚本本身的名字

 

$1 是传递给该shell脚本的第一个参数

 

$2 是传递给该shell脚本的第二个参数

 

$@ 是传给脚本的所有参数的列表

 

$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9

 

$$ 是脚本运行的当前进程ID

 

$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误


   
 

运行Shell程序的方法
 Shell
脚本可以通过shell程序是解释执行的

程序的第一行一般为“#/bin/bash”,其中# 表示该行是注释

叹号!告诉Shell运行叹号之后的命令并用文档的其余部分作为输入,也就是运行/bin/bash并让/bin/bash去执行Shell程序的内容。
 

执行Shell程序的方法有3种。
 
1
bash Shell程序文件名
 
这实际上是调用一个新的bash命令解释程序,而把Shell程序文件名作为参数传递给它。新启动的Shell将去读指定的文件,可执行文件中列出的命令,当所有的命令都执行完后结束。
 
 
2
.用chmod命令使Shell程序成为可执行的
 
一个文件能否运行取决于该文档的内容本身可执行且该文件具有执行权。对于Shell程序,当用编辑器生成一个文件时,系统赋予的许可权都是644(rw-r-r–),因此,当用户需要运行这个文件时,只需要直接输入文件名即可。
 

最好按下面的方式选择:当刚创建一个Shell程序,对它的正确性还没有把握时,应当使用第一种方式进行 调试。

当一个Shell程序已经调试好时,应把它固定下来,以后只要输入相应的文件名即可,并可被另一个程序所调用。
 
bash
程序的调试
 
Shell
程序的调试主要是利用bash命令解释程序的选择项。调用bash的形式是:
 
bash –
选择项Shell程序文件名
 
几个常用的选择项是:
 
-e
如果一个命令失败就立即退出。
 
-n
读入命令但是不执行它们。
 
-u
置换时把未设置的变量看做出错。
 
-x
执行命令时把命令和它们的参数显示出来。

原创文章,作者:sean0910,如若转载,请注明出处:http://www.178linux.com/73340

(0)
sean0910sean0910
上一篇 2017-04-14 23:57
下一篇 2017-04-15 17:26

相关推荐

  • ansible配置详解

    概述     ansible是一款无需在被管理主机上安装客户端,基于SSH对多台目标主机进行同时操作的轻量级的管理软件,借助各个内部的功能模块,实现了批量系统配置、批量程序部署、批量运行命令等功能。本篇就介绍一些关于ansible的基础配置相关的内容,具体包括:     1、an…

    Linux干货 2016-11-05
  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理命令有哪些?其常用的使用方法及相关示例演示。 答: cp 复制、 mv 移动、rm 删除 (1)cp :复制文件或目录         用法:    cp [OPTION]… [-T] SOURCE DEST    cp [OPTI…

    Linux干货 2016-06-16
  • Python入门之迭代,列表解析,生成器及文件操作

    迭代器是访问集合元素的一种方式,迭代器包含了__iter__()(返回迭代器对象本身)next()(返回迭代器的下一个元素)迭代器只能往前不会退后 以下类型支持迭代 序列类型:list,str,tuple 非序列类型:dict,file 自定义类 通过内建的函数iter()或对象自带方法__iter__可以获取迭代器对象 l1=range(5) iter1=…

    Linux干货 2015-12-13
  • 马哥教育网络班20期+第二周博客作业

    1.Linux上的文件管理类命令 2.bash命令学习总结 3.bash命令实例 4.元数据与时间戳 5.命令别名 6.练习题6~12 1.Linux上的文件管理类命令        Linux上的文件管理类命令可分为查看类、目录管理类、权…

    Linux干货 2016-06-19
  • N25第六周 vim,crontab命令的使用

    请详细总结vim编辑器的使用并完成以下练习题 vim是一款功能强大的文本编辑器,是程序员的必备神器。 vim工作模式分为三种:编辑模式,输入模式,末行模式,三种工作模式可以进行来自由切换     编辑模式—》输入模式: 直接键i      输入模式—》…

    Linux干货 2016-12-29
  • linux 加密和证书

    安全目标:机密性:明文传输的ftp, http,telnet 不安全数据完整性:身份验证:可用性:安全技术:认证,授权,安全通信,审计密码算法和协议:对称加密,公钥加密,单向加密,认证协议 1、对称加密:加密,解密使用同一个秘钥,效率高 DES:Data Encrption Standard, 56bit3DES:AES:AdvancedBlowfish缺点…

    2017-09-11