shell脚本基础篇2

今天继续研究shell脚本,我只是觉得,我不能老是打游戏了……

(好歹第一次留校集训呢……)

上一篇有提到两点关于定义变量的知识,而这次我想把定义搞得清楚一些嘻嘻。

1.定义变量

定义变量时,变量名不加$

规则:(1)首个字符必须为字母(大小写都可以)

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

          (3)不能用标点符号(看来下划线不算标点……)

          (4)不能使用bash中的关键字(用help可以查看这些关键字,不然这么多谁有空去记啊)


(看这个图已经有了些许的绝望……)

还是举个栗子吧,上面这些我觉得不太好懂……


依次输出I like sing,I like dancing,I like eating。(这里hobby是我定义的变量)


输出:


据说,变量名外的{ }是可选的,即可加可不加,加是为了帮助解释器识别变量的边界,比如在上面程序中如果不加{ },$hobby还有个very much 啥的,解释器就会把$hobbyvery 当做一个变量,后果如下:


一看这个明显就……(这什么玩意儿……)

这个时候$hobbyvery的值就是空的了。

推荐给所有变量都加上{ }!

对于已经定义过的变量,可以再重新定义,例如:

my_name="maomao"

echo $my_name

my_name="chaichai"

echo $my_name

2.关于数组变量

shell脚本比较任性,只支持一维数组,但还好没有大小限制

例如:name=(‘xiaoxiannv’ 'Fairy' 'xiaokeai')

或者单独定义每个分量 name[1]='xiaoxiannv'

读取元素值时,分为单个元素echo ${name[1]} 和所有元素echo ${name[@]}或者echo ${name[*]}

数组元素个数:echo ${#name[@]}或者echo ${#name[*]}(输出为3)



shell的变量都有哪些????

1.系统变量(比较重要的一些)
表示  描述  
$n  $1 表示第一个参数,$2 表示第二个参数 ...  

$#  命令行参数的个数  

$0  当前程序的名称  

$?  前一个命令或函数的返回码  

2.用户变量

就是一开始写的那些,用户变量可能是最常用的了吧。

(有空我了解多一些了再详细补充)

3.环境变量

名称                             描述
PATH         命令搜索路径,以冒号为分隔符.注意与DOS下不同的是, 当前目录不在系统路径里
HOME         用户home目录的路径名,是cd命令的默认参数
COLUMNS 定义了命令编辑模式下可使用命令行的长度
EDITOR         默认的行编辑器
VISUAL         默认的可视编辑器
FCEDIT         命令fc使用的编辑器
HISTFILE         命令历史文件
HISTSIZE         命令历史文件中最多可包含的命令条数
HISTFILESIZE 命令历史文件中包含的最大行数
IFS                 定义SHELL使用的分隔符
LOGNAME 用户登录名
MAIL         指向一个需要SHELL监视其修改时间的文件.当该文件修改后, SHELL将发消息You hava mail给用户
MAILCHECK SHELL检查MAIL文件的周期,单位是秒
MAILPATH 功能与MAIL类似.但可以用一组文件,以冒号分隔,每个文件后可跟一个问号和一条发向用户的消息
SHELL         SHELL的路径名
TERM         终端类型
TMOUT         SHELL自动退出的时间,单位为秒,若设为0则禁止SHELL自动退出
PROMPT_COMMAND 指定在主命令提示符前应执行的命令
PS1                 主命令提示符
PS2                 二级命令提示符,命令执行过程中要求输入数据时用
PS3                 select的命令提示符
PS4                 调试命令提示符
MANPATH 寻找手册页的路径,以冒号分隔
LD_LIBRARY_PATH 寻找库的路径,以冒号分隔

听说,最最最重要的就是PATH咯。

emmm,今天心情超差,就不一个个去试了再截图了……


未完待续……爱看不看……

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值