为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
shell编程之变量_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

shell编程之变量

Tony Linux系统工程师
难度初级
时长 1小时51分
  • read命令: 在脚本运行过程中,向脚本中传递用户输入的值。 read命令比位置参数更好用,因它可以给用户输出提示信息,以及对输入过程和内容做进一步的规范。 read 选项 变量名 例如: read -p "Pls input ur name" name -t 20 -s 其中: -p "提示信息" :在等待read输入时,输出提示信息; -t 秒数 :设定等待输入的时间,过时终止脚本 -n 字符数 : read命令将只接受指定的字符数 -s 隐藏输入的字符 : 用于密码等内容的输入。
    查看全部
    0 采集 收起 来源:预定义变量

    2018-03-22

  • 预定义变量: $?, $$, $! 命令返回值$?:最后一次执行的命令的返回状态,值为0,说明上一个命令正确执行,值非0,说明上一个命令执行出错。(至于具体返回的错误值是多少,是由编写被运行的这个程序的人在程序里指定的。) 当前进程号$$:当前进程的进程号(即PID) 最后后台进程号$!:后台运行的最后一个进程的进程号。 上述三个中,$?最常用。 预定义变量和位置变量 相比于 用户自定义变量 来说,格式更加严格, 用户 只能 修改、访问 预定义变量和位置变量 的值,而无法修改其名称和作用, 与之相比,环境变量和用户自定义变量就不那么严格。
    查看全部
    0 采集 收起 来源:预定义变量

    2015-04-04

  • $n  n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10} $* 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体 $@  这个变量也代表命令行中所有参数,不过$@把每个参数区分对待 $#  这个变量代表命令行所有参数的个数
    查看全部
    0 采集 收起 来源:位置参数变量

    2015-03-27

  • 位置参数变量: $n $* $@ $#
    查看全部
    0 采集 收起 来源:位置参数变量

    2015-04-03

  • 位置参数变量: $1,$2,....$9,${10},.... 例如: 编好了某脚本文件:a.sh,chmod后即可运行: $ a.sh 111 222 x.txt y.c 等等参数 系统会将命令行里的a.sh赋给a.sh脚本中的$0这一变量, 后面对应地, 将 111 赋给 $1; 222 赋给 $2; x.txt 赋给 $3; y.c 赋给 $4;
    查看全部
    0 采集 收起 来源:位置参数变量

    2015-03-26

  • 几个重要的系统环境变量: 1.PATH: PATH中包含多个由冒号分开的目录,都是系统默认的命令搜索的路径(系统查找命令的路径) PATH="$PATH":某目录 可以给PATH变量临时增加命令路径值,重启/重登录?后复原。
    查看全部
    0 采集 收起 来源:bash环境变量

    2018-03-22

  • 环境变量一般都用大写字母。 而Linux中是没有大写命令的,这样可以把命令和变量区分得更清楚。
    查看全部
    0 采集 收起 来源:bash环境变量

    2015-03-26

  • 在6min-7min处,老师讲错了, 6min时,unset 后本应接 z,但他错写为$z,导致系统报错(1不是一个有效的标识符),1是z的值,而且是数字,必然不能作为变量名。 在ubuntu实验时,子bash中可以unset掉父bash传过来的环境变量,但unset的范围仅限于子bash;即: x=123 export x bash #进入到子shell中 echo $x 123 #成功传递 set -u unset x #在子shell中删除x echo $x bash: x : unbound variable #前面输入了set -u命令,故此处bash报错,这里bash前没有横线。 exit #推出子shell echo $x 123 #在父shell中,值仍然在。
    查看全部
    1 采集 收起 来源:bash环境变量

    2015-03-26

  • export命令:用户通过此命令可将一个(局部)变量设为环境变量。 export 变量名 env命令:仅查看环境变量
    查看全部
    0 采集 收起 来源:bash环境变量

    2015-04-18

  • 环境变量与(用户)自定义变量的区别: 环境变量是全局变量 自定义变量是局部变量 具体地说: 自定义变量只在当前shell中生效 而环境变量在当前shell和这个shell的所有子shall中生效。(众所周知,很多情况下,例如,执行shell脚本时,执行脚本的shell会创立一个子进程,(当然,子进程还可以进一步生子,子子孙孙……), 因此,环境变量,就是那些会传给子进程的变量) 另外,注意环境变量只能从父进程到子进程单向继承。换句话说:在子进程中的环境如何变更,均不会 影响父进程的环境。 参《shell十三问》
    查看全部
    0 采集 收起 来源:bash环境变量

    2015-03-26

  • 在shell中,所有变量的默认类型都是字符串型, (即系统把所有值都当作字符串放到变量中,不论这个“字符串”实际上是整数、浮点数等等) 例如: x=5 这里5是作为一个字符串而不是数值赋给x的, echo $x 5 所得出的5也是一个字符串,因此不能直接参加数学运算。 再例如: y=6 z=$x+$y echo $z 5+6 可见,z并不是11,系统只是把5+6当作了一个字符串赋给了z,赋值前并没有对5+6进行进一步地计算。 变量迭加的两种方法: x="$x"234 x=${x}234 变量的查看: 命令set set -u 调用未声明变量时会报错, 例如: echo $a set -u (报错……) (此处,a是未声明变量,而并不是在先前已经进行过赋值声明“a=(NULL_VALUE)”(即“a=”)的变量。) 变量的删除: unset 变量名
    查看全部
  • 在shell中,所有变量的默认类型都是字符串型, (即系统把所有值都当作字符串放到变量中,不论这个“字符串”实际上是整数、浮点数等等)
    查看全部
  • 呵呵
    查看全部
    0 采集 收起 来源:位置参数变量

    2015-03-26

  • 777
    查看全部
    0 采集 收起 来源:bash环境变量

    2015-03-25

  • 666
    查看全部
    0 采集 收起 来源:bash环境变量

    2015-03-25

举报

0/150
提交
取消
课程须知
小伙伴们,学习本课程需要具备Linux基础知识,请大家学习完《Linux达人养成计划I》之后学习。
老师告诉你能学到什么?
能够熟练使用shell中的用户自定义变量、环境变量、语系变量、位置参数变量和预定义变量。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!