Linux Bash小结1

简介:

1.Linux Bash变量类型

A 本地变量

B 环境变量

C 位置变量

D 特殊变量


需要注意的是:

父SHELL和子SHELL是两个不同的进程,他们不会共享本地变量。

环境变量对当前SHELL及其子SHELL有效。

位置变量,形如$1,$2

特殊变量,常用的有$?,$#


2.撤销与查看变量

撤销变量:

unset 变量名


查看变量:

env

export

printevn


3.变量如何进行算术运算?

我们知道对于SHELL而言,变量默认情况下都是字符串类型的。当然我们可以使用declare -i的方式显式指定数值类型。

方式一:$[]

1
2
3
4
5
6
7
[root@localhost ~] # echo $[1+2]
3
[root@localhost ~] # a=100
[root@localhost ~] # b=2
[root@localhost ~] # echo $[$a/$b]
50
[root@localhost ~] #


上面的方式非常常用。


方式二:let 

1
2
3
4
[root@localhost ~] # let a=1+2
[root@localhost ~] # echo $a
3
[root@localhost ~] #


方式三:$(())

1
2
3
4
5
[root@localhost ~] # echo $((1+2))
3
[root@localhost ~] # echo $((9%2))
1
[root@localhost ~] #


方式四:expr

1
2
[root@localhost ~] # echo `expr 1 + 2`
3


4.条件测试

在JAVA的使用中,我们经常需要进行判断,根据条件来进行不同的操作,实际中,下面三种条件测试最为常用:

A 数值比较


[ num1 -eq num2 ]

-eq -gt -lt -ge -le -ne

记住,不能用>,<这种符号。


B 字符串测试

[ str1 == str2 ]

[ str1 != str2 ]


[ -n str1 ] 即not empty string,如果str1为"",则为假。用于判断字符串非空。

[ -z str1 ] empty string is true。



C 文件判断

[ -e filepath ]

[ -f filepath ]

[ -d filepath ]

[ -w filepath ]

[ -r filepath ]

[ -x filepath ]


测试的几种形式:

[ expression ]

` expression `

test expression


5.流程控制

if

if  condition ; then

    statement

fi



if condition ; then

   statement

else 

   statement 

fi

    

    

if condition ; then

   statement


elif condition ; then

   statement


elif condition ; then

   statement

fi


for

for i in sequence ; do

    statement

done


需要注意的是,sequence如何生成的问题。

比如,整数的话,那么可以使用seq命令。

seq end

seq start end

seq start step end

当然,这个sequence也可以是`ls somedir`等命令的执行结果~



总之,类似于JAVA,可以联想对比下~


本文转自zfz_linux_boy 51CTO博客,原文链接:http://blog.51cto.com/zhangfengzhe/1425146,如需转载请自行联系原作者


相关文章
|
存储 Shell Linux
Linux Bash 脚本中的 IFS 是什么?
【4月更文挑战第25天】
338 0
Linux Bash 脚本中的 IFS 是什么?
|
12月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
存储 Shell Linux
Linux|创建和使用 Bash 别名
Linux|创建和使用 Bash 别名
|
Unix Shell Linux
在Linux中,什么是 BASH?
在Linux中,什么是 BASH?
|
Shell Linux
在Linux中,哪⼀个bash内置命令能够进行数学运算?
在Linux中,哪⼀个bash内置命令能够进行数学运算?
|
缓存 Shell Linux
在Linux中,bash shell 中的 hash 命令有什么作用?
在Linux中,bash shell 中的 hash 命令有什么作用?
|
人工智能 物联网 Shell
在Linux中,BASH 和 DOS之间的区别是什么?
在Linux中,BASH 和 DOS之间的区别是什么?
|
Unix Shell Linux
在Linux中,什么是Bash脚本,并且如何使用它。
在Linux中,什么是Bash脚本,并且如何使用它。
|
Shell Linux
在Linux中,使用bash shell实现条件判断和循环结构的例子是什么样的?
在Linux中,使用bash shell实现条件判断和循环结构的例子是什么样的?
|
Ubuntu 搜索推荐 Shell
如何在 Linux VPS 上自定义你的 Bash 提示符
如何在 Linux VPS 上自定义你的 Bash 提示符
75 0