博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux shell编程子bash变量
阅读量:6187 次
发布时间:2019-06-21

本文共 2129 字,大约阅读时间需要 7 分钟。

 

参考视频:https://www.imooc.com/u/279399/courses?sort=publish

https://www.imooc.com/video/6516 慕课网

 

用户的自定义变量:

 

[root@localhost ~]# x=5

[root@localhost ~]# echo $x

5

[root@localhost ~]# y=6

[root@localhost ~]# z=$x+$y

[root@localhost ~]# echo z

z

[root@localhost ~]# echo $z

5+6

变量不会直接进行数值相加

变量的叠加

[root@localhost ~]# x=123

[root@localhost ~]# x="$x"456

[root@localhost ~]# echo $x

123456

[root@localhost ~]#

 

环境变量

环境变量是全局变量

自定义变量是局部变量

将目录/root/sh目录添加到系统环境变量中

[root@localhost ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/jdk1.7.0_80/bin:/root/bin

[root@localhost ~]# PATH="$PATH":/root/sh

[root@localhost ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/jdk1.7.0_80/bin:/root/bin:/root/sh

[root@localhost ~]#

[root@localhost ~]# locale

LANG=en_US.UTF-8

LC_CTYPE="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_PAPER="en_US.UTF-8"

LC_NAME="en_US.UTF-8"

LC_ADDRESS="en_US.UTF-8"

LC_TELEPHONE="en_US.UTF-8"

LC_MEASUREMENT="en_US.UTF-8"

LC_IDENTIFICATION="en_US.UTF-8"

LC_ALL=

[root@localhost ~]# echo $LANG

en_US.UTF-8

[root@localhost ~]#

Linux纯粹的字符界面是不支持中文的。

第三方工具SecureCRT 7.3,可以设定支持UTF-8

 

 

把外部传递的第一个变量赋值给num1

把外部传递的第二个变量赋值给num2

#!/bin/bashnum1=$1num2=$2sum=$(($num1+$num2))echo $sum

 

执行:

[root@localhost home]# ./aa.sh 111 222

333

111传递给num1 ,222传递给num2

$((带上两个小括号表示数值运算的操作

第二个操作案例:

bb.sh

#!/bin/bashecho $*echo $@echo $#

 

[root@localhost home]# ./bb.sh 88 99 00 22 77

88 99 00 22 77

88 99 00 22 77

5

$*和$@都是将产生当成整个返回,但是二者的区别是$*是把输入参数当成一个整体,所以for循环只会循环一次

这里有一个特别需要强调的是使用$*和$@必须使用双引号括起来,不然在使用的时候数值会发生变化

#!/bin/bashfor i in "$@"do   echo $idone

 

[root@localhost home]# ./bb.sh 88 99 00 22 77

88

99

00

22

77

[root@localhost home]# kjdfkjkjfd

-bash: kjdfkjkjfd: command not found

[root@localhost home]# $?

-bash: 127: command not found

返回值是127

[root@localhost home]# echo $$

1106

read -p "please input your name:" -t 10 nameecho $name

 

制定等待的时间是10秒

[root@localhost home]# ./dd.sh

please input your name:ksdfk

ksdfk

 

转载于:https://www.cnblogs.com/kebibuluan/p/9355377.html

你可能感兴趣的文章
电脑中WPS格式文件怎么转换为PPT?
查看>>
怎么分割pdf文件,办公达人教你一招
查看>>
python bytes类型转换
查看>>
yum在企业网中应用
查看>>
gns3 iso下载地址
查看>>
yum 安装 MySQL
查看>>
docker 常用命令解析
查看>>
我的友情链接
查看>>
Java NIO系列教程(十一) Pipe
查看>>
如何在CentOS 7上安装jtomcat8.5服务器
查看>>
...package- info.java”是做什么用的呢?谢谢_百度知道
查看>>
curl 查看网页源代码
查看>>
sed
查看>>
LVS的基本应用和LVS的NAT模型的配置
查看>>
linux下如何使用sftp命令
查看>>
MySQL的多表设计
查看>>
php编译
查看>>
决心书
查看>>
【转】获取OSGi任意Bundle的ClassLoader
查看>>
修改全局主题
查看>>