shell精讲

shell精讲

shell变量

       定义变量时,变量名不加美元符号($,PHP语言中变量需要)

注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

  • 首个字符必须为字母(a-z,A-Z)。

  • 中间不能有空格,可以使用下划线(_)。

  • 不能使用标点符号。

  • 不能使用bash里的关键字(可用help命令查看保留关键字)。

使用变量

       1、使用一个定义过的变量,只要在变量名前面加美元符号即可

       2、变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界

       3、已定义的变量,可以被重新定义

只读变量

      使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变

shell精讲image.pngimage.png

删除变量

       使用 unset 命令可以删除变量。

       变量被删除后不能再次使用。unset 命令不能删除只读变量。

变量类型

       运行shell时,会同时存在三种变量:

  • 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

  • 环境变量所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

  • shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

shell字符串

       字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。

1、单引号

单引号字符串的限制:

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

  • 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。

2、双引号

双引号的优点:

  • 双引号里可以有变量

  • 双引号里可以出现转义字符

shell传递参数

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

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

(0)
xiaoqiang512xiaoqiang512
上一篇 2016-08-21 20:45
下一篇 2016-08-21 20:45

相关推荐

  • 文件管理

    echo“- – -”>/sys/class/scsi_host/host2/scan扫描新装的硬盘,不需要重启 磁盘管理三大步骤:分区,管理,挂载 设备文件创建mknob cdrom /mnt/cdrom 并行接口针多,但是传的速度过快,会对数据造成干扰 vLinux的数据一般都存储在分区空间里 学习linux的磁盘管理就必须:…

    Linux干货 2016-11-27
  • 迁移分区

          1 备份/home    2 创建分区 /dev/sdc1 10G   [root@localhost ~]# du -sh /home   52K /home   3 格式化分区   [root@localhost …

    Linux干货 2017-04-25
  • 8.3号,第6天

    三种权限rwx对文件和目录的不同意义: 权限对于目录的意义: 1,r权限:拥有此权限表示可以读取目录结构列表,也就是说可以查看目录下的文件名和子目录名,注意:仅仅指的是名字。 2、w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字。具体如下:      …

    Linux干货 2016-08-05
  • AWK

    awk:报告生成器,格式化文本输出         处理方式:文件里有多行,awk处理时,先将第一行放到内存里面,然后将该行分割成列(字段),第一个字段叫$1,第二个字段$2,以此类推,$0代表整行。        &n…

    Linux干货 2016-09-26
  • 网络班N22期第四周博客作业

    一、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@bogon ~]# cp -r /etc/skel /home/tuser1 && chmod -R 60…

    Linux干货 2016-09-05
  • 分析命令中含有e2fs

    分析命令中含有e2fs 目  录 1、mke2fs  2、tune2fs 3、dump2fs 4、e2fsck 这周学到了几条命令,超级纳闷为什么这些命令都带有e2fs ,看不懂。毕竟在我的认知中linux的命名大部分都是见名知义,例如history(查看历史命令),fdisk (分区),反观这些命令很长而且还是奇怪的…

    Linux干货 2017-08-20