shell学习2---变量

  1. 变量直接定义,读取的时候加上符号$,用echo可以输出变量
  2. 变量赋值采用【=】, 但是【=】两边不能直接加空格,这个对于在c编程中有良好的空格习惯的程序猿一定注意
  3. 变量内的内容含有空格可用【“”】或者【‘’】
    使用双引号特殊字符可保留原有特性 例如:『var="lang is $LANG"』则『echo $var』可得『lang is en_US』
    使用单引号则为纯文本                      例如:『var='lang is $LANG'』则『echo $var』可得『lang is $LANG』
  4. 当然可以使用转义字符【\】将特殊符号如【$,\,空格】等变为一般字符
  5. 在一串指令中,还需要藉由其他的指令提供的信息,可以使用反单引号『`指令`』戒 『$(指令)』。注意,反单引号是tab上面的键,在一串指令中,在 【``】内的指令将会被先执行,而其执行出来的结果将做为外部的输入信息
    例如:locate 指令可以列出相关档案名,则【ls -l `locate crontab`】就是一种使用方法
  6. 规定:通常大写字符的变量为系统默认变量,自己定义的变量尽量用小写
  7. 若变量需要在其他子程序执行,需要使用export使变量变成环境变量【export name】
    主要使用方法是我们可以利用【bash】进入子程序,用【exit】退出子程序
  8. unset 【已经设定好的变量名】 取消变量设定
  9. 举例:若我们已经有一个变量name=zhangsan,我想在之后加上yes,有两种方法
    name="$name"yes
    name=${name}yes  【此种方法较好】

  10. 变量的特殊使用,如果我们有一个常去的工作目录,那么我们就可以这样设定,如果目录名比较长的情况下

  11. env【environment】的简写,可以列出所有的环境变量
  12. man bash 中找到PS1可以找到一些预设的内容,类似这种

    我们可以做如下设定,提示符就改变了,这样我们就知道了[james@localhost root]$的意义

  13. echo $$   输出shell 的PID
    echo $?   上个指令的回传值,一般成功执行返回0,发生错误,回传错误代码
  14. 读取来自键盘的变量read [-pt] variable 选项与参数:
    -p :后面可以接提示字符!
    -t :后面可以接等待的『秒数!』
  15. declare [-aixr] variable 【宣告变量类型】
    选项与参数:
    -a :将后面名为 variable 的变量定义成为数组 (array) 类型
    -i :将后面名为 variable 的变量定义成为整数数字 (integer) 类型
    -x :用法与 export 一样,就是将后面的 variable 变成环境变量;
    -r :将变量设定成为 readonly 类型,该变量不可被更改内容,也不能 unset
  16. 数组 (array) 变量类型
    var[index]=content 意思是说,我有一个数组名为 var ,而这个数组的内容为 var[1]=小明, var[2]=大明
  17. 与文件系统及程序的限制关系: ulimit
    ulimit [-SHacdfltu] [配额] 选项与参数: 【详细信息可查询】
    -H :hard limit ,严格的设定,必定不能超过这个设定的数值;
    -S :soft limit ,警告的设定,可以超过这个设定值,但是若超过则有警告讯息。
  18. 变量内容的删除与取代
    例如:path=${PATH}
    # :符合取代文字的『最短的』那一个;
    ##:符合取代文字的『最长的』那一个
    例如:mail的路径为是 /var/spool/mail/james

    echo ${MAIL##/*/} 中的##删除符合条件最长的数据
    echo ${MAIL%/*}   删除符合条件最短的数据
  19. 测试一下是否存在 username 这个变量,若不存在则给予 username为root      【username=${username-root}】
    加上『 : 』后若变量内容为空或者是未设定,都能够以后面的内容替换!           【username=${username:-root}】

  20. history n  n为数字,历史命令显示
    !number  执行第几条历史命令
    !command 执行开头为command的那个指令,比如:!al执行最近的以al开头的命令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值