shell脚本基础----变量
2018-08-01 17:44
429 查看
1.1shell的定义
1.命令的堆积2.特定的语法与特定的命令组成的文件
执行脚本命令
bash test.sh 不需要添加执行权限,使用解释器直接解释 sh tesh.sh ./tesh.sh 相对路径,需要添加执行权限
1.2shell脚本基础---变量
变量:用一个固定的字符串表示不固定的内容变量名称注意事项
1.不能以数字开头(包含字母、数字、下划线) 2.不能使用程序中的保留字(例如:if for) 3.不能跟系统中已有的环境变量重名(尽量不要全部使用大写,尽量不要用‘_’下划线开头) 4.见名知义
变量类型
"字符型" 例如:a=abc "数字型" 整型 浮点型,例如:a=1.1 "布尔型“(是否) true false
变量操作
设置变量 引用变量
$变量名
${变量名}
**bash特性** "反斜杠 \ 使反斜杠后面的一个变量变为字符串" "单引号 ’ 转义其中所有的变量为单纯的字符串" "双引号 "" 保留其中的变量属性,不进行转义处理" "反引号 `` 把其中放入命令执行后返回结果" 撤销变量(unset a 作用范围:仅在当前shell中有效)
bash变量类型
环境变量
export 作用域为当前shell进程及其子进程
本地变量(局部变量)
"Var_name=valuue" 本地变量,作用域为当前shell进程。对当前shell外的其他shell进程,包括当前shell的父shell,子shell进程均无效 "Local var_name=value" 局部变量,作用域为当前代码段,常用于函数
位置变量
$1,$2 用于引用脚本的参数 shirt 依此向前推进
特殊变量(bash内置的,用来保存某些特殊数据的变量,也称系统变量)
"$# 是传给脚本的参数的个数" "$0 是脚本本身的名字" "$! 是shell最后运行的后台Process的PID" "$@ 是传给脚本的所有参数的列表" "$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个" "$$ 是脚本运行的当前进程ID号 " "$? 是显示上条命令的退出状态,0表示没有错误,其他表示有错误"
bash内建环境变量
"[root@yaoxiaorong ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@yaoxiaorong ~]# echo $SHELL /bin/bash [root@yaoxiaorong ~]# echo $UID 0 [root@yaoxiaorong ~]# echo $HISTSIZE 1000 [root@yaoxiaorong ~]# echo $HOME /root [root@yaoxiaorong ~]# echo $PWD /root [root@yaoxiaorong ~]# echo $HISTFILE /root/.bash_history [root@yaoxiaorong ~]# echo $PS1 [\u@\h \W]\$ "
只读变量
readonly 不能修改值,不能销毁,只能等shell进程
脚本基础
定义:按实际需求,结合命令流程控制机制实现的源程序
程序返回值
程序执行的结果 程序状态返回代码(0-255) 0:正确执行 1-255:错误执行,1、2、127系统预留,有特殊意义
脚本测试
bash -n test.sh 检查脚本是否有语法错误 bash -x test.sh 单步执行,检查脚本错在那里
写脚本注意事项
禁止将未成功执行过的代码直接写进脚本 脚本中的命令一定要用绝对路径
shell算术运算
A=3 B=6 let C=$A+$B 表达式 C=$[$A+$B] 表达式 C=(($A+$B)) 表达式 C=` expr $A + $B ` 算术运算表达式,表达式各操作及运算符之间要有空格,而且要使用命令引用
相关文章推荐
- shell:概述、脚本编写、变量的简单基础
- Linux新手生存笔记[8]——shell脚本基础1-变量
- linux之基础shell脚本编程4 字符串操作,变量赋值,配置用户环境
- linux脚本编写基础(环境变量、shell流程控制)
- SHELL脚本--变量(基础)
- Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)
- Shell脚本基础与变量
- Shell脚本基础2-变量和备注
- shell脚本基础知识和位置变量
- Shell脚本基础 、 使用变量 、 条件测试及选择 、 列表式循环
- ENGINEER02 - Shell脚本基础、变量、if选择、for循环
- 第8课shell脚本基础1-变量
- 通过脚本学shell编程——相关基础知识之shell内置变量命令(更新中)
- Linux新手生存笔记[8]——shell脚本基础1-变量
- shell脚本基础进阶(二)----变量及运算符
- linux之基础shell脚本编程1 基础变量赋值
- Shell脚本应用(shell脚本基础与shell变量)
- linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)
- Shell基础教程,什么是Shell?Shell脚本的执行方式,Shell中的变量,Shell中的特殊变量
- shell脚本基础 (续)