Shell基础:变量类型 & 运算符
2016-08-10 23:05
721 查看
Shell变量
Shell支持三种类型的变量
用户自定义变量:用户自定义的变量,变量名以英文字母或下划线开头,区分大小写。位置变量:根据位置传递参数给脚本的变量,默认支持9个位置变量 $1,$2,$3...$9
预定义变量: 预定义的特殊变量,只能使用,不能修改
用户自定义变量
#定义变量:变量名=变量值, 可以使用"常量/其他变量/命令执行结果"赋值 var1='test var' var2="test variable $var1" var3=`date` #单引号中将$就当作$, 不识别$为特殊符号,不能引用起他变量 echo 'the price is $100' #双引号中可以通过$来引用变量,但无法解析转义符号,要解析转义符和字体格式需要在echo命令前加-e 参数 echo "test /n test" echo -e "test /n test" #`` 反引号可以运行完其中的脚本命令然后赋值给相应的变量,如下执行结果会打印出123.sql的结果和当前日期 str=`cat 123.sql` strdate=`date` echo "$str $date` #使用变量:$变量名 echo "$var $var1" #变量后直接连接字符串需要用{}隔开使得变量可识别 echo "测试变量${var}test" # 清除变量 unset var1
位置变量
新建根据参数执行数据库命令脚本#!/bin/bash #mysql.sh conn="/usr/local/mysql/bin/mysql -uroot -p123" case $1 in select) sql="select * from test.user" ;; delete) sql="delete from test.user where id =$2" ;; insert) sql="insert into test.user(uname,psd) values('$2','$3')" ;; update) sql="update test.user set uname='$3', psd='$4' where id='$2' ;; esac $conn -e "$sql"
运行脚本,以空格为分隔符输入不同个数的参数
#显示test数据库下user表的所有数据 ./mysql.sh select #删除指定id的用户 ./mysql.sh delete 4 #插入新用户 ./mysql.sh insert newuser newpsd #更新id=2用户属性 ./mysqlsh update 2 newuser2 newpsd2
预定义变量
Shell脚本支持四种形式的预定义变量:$#: 所有位置参数的个数
$*: 所有位置参数的内容
$0: 当前执行的脚本名(程序或者是进程名)
$?: 上一条命令执行的状态,为0代表执行成功,为其他数字(eg:127...)代表执行失败
!/bin/bash #test pre-defined bash variable echo "当前脚本的位置参数有${#}个" echo "当前正在执行的脚本名称是: $0" if[ [ $? == 0 ] ];then echo "上条命令执行成功" else echo "上条命令执行失败" fi for i in $*; do echo "位置变量为 $i" done
运算符
Shell是脚本语言,变量没有区分类型,程序在实际运行的时候根据上下文做类型判断,默认的类型是String,如果需要把变量看作Int类型来进行加减乘除运算,需要采用特殊语法。$((变量1运算符1变量2运算符2变量3)) : 此种方式用的较多, eg: $((2+3+4)); $((2*3))
expr 变量1 运算符 变量2 运算符 变量3 :变量和运算符之间一定要用空格隔开,此种方法比较少用, 并且乘法要用转移\*, eg: expr 2 + 3 + 4; expr 2 \* 3
Shell常用运算符
+
-
*
/
%
相关文章推荐
- Shell基础:变量类型 & 运算符
- 第一部分 Shell基础编程——第二章 变量和运算符
- 黑马程序员——Java语言基础——关键字、表示符、常量、变量及数据的类型、运算符
- Shell基础-Bash变量-数值运算与运算符
- 黑马程序员——java基础知识篇——>标识符、关键字、常量、进制表示、数据类型、运算符等
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏
- 变量浮点型PHP自学之路-----PHP基础数据类型及运算符介绍
- Java基础知识(数据类型、标识符、变量、运算符和流程控制语句)
- 黑马程序员_java基础学习笔记01_变量,数据类型,运算符
- Python学习笔记(一):基础语法、变量类型、运算符(快速入门篇)
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- 黑马程序员_Java基础(环境搭建,常量变量,类型转换,运算符,控制语句)
- C语言基础教程(二)数据类型、变量和运算符
- JAVA基础二(java中的注释、ava编程语法基础、java数据类型、数据类型的转换、变量、运算符、分支语句、循环语句)
- Java基础学习笔记(一)环境变量配置,数据类型,运算符,控制语句,循环语句
- 黑马程序员——java第二天:基础语法(关键字、标示符、进制转换、变量类型、运算符)
- 黑马程序员_C#基础之变量、数据类型、运算符
- 黑马程序员_Java基础_02常量、变量、数据类型、运算符、语句、程序执行过程
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符.
- 黑马程序员——Java基础(常量、变量、数据类型、运算符、键盘录入)