网站作业免费下载,国际贸易新闻最新消息,基于PHP的家教网站开发环境,什么网站可下载可做海报的图片文章目录 一、定义变量二、使用变量三、将命令的结果赋值给变量四、变量操作 在 Bash shell 中#xff0c;每一个变量的值都是字符串#xff0c;无论你给变量赋值时有没有使用引号#xff0c;值都会以字符串的形式存储。 这意味着#xff0c;Bash shell 在默认情况下不会区… 文章目录 一、定义变量二、使用变量三、将命令的结果赋值给变量四、变量操作 在 Bash shell 中每一个变量的值都是字符串无论你给变量赋值时有没有使用引号值都会以字符串的形式存储。 这意味着Bash shell 在默认情况下不会区分变量类型即使你将整数和小数赋值给变量它们也会被视为字符串这一点和大部分的编程语言不同。例如在C语言或者 C 中变量分为整数、小数、字符串、布尔等多种类型.
一、定义变量
和编程语言不同shell脚本的 两端不能有空格 如果变量不包含任何空白符例如空格、Tab 缩进等那么可以不使用引号如果变量包含了空白符那么就必须使用引号包围起来。这里又可以分为单引号和双引号。 以单引号’ 包围变量的值时单引号里面是什么就输出什么即使内容中有变量和命令命令需要反引起来也会把它们原样输出。这种方式比较适合定义显示纯字符串的情况即不希望解析变量、命令等的场景。 以双引号 包围变量的值时输出时会先解析里面的变量和命令而不是把双引号中的变量名和命令原样输出。这种方式比较适合字符串中附带有变量和命令并且想将其解析后再输出的变量定义
我们看代码
#!/bin/bashvalue_0shell 学习1
value_1shell 学习2value_2打印${value_0}
value_3打印${value_0}value_4打印${value_0}
value_5打印${value_1}echo $value_0
echo $value_1
echo $value_2
echo $value_3
echo $value_4
echo $value_5
xhhcluo:~/study/shell$ ./shell-1.sh
shell 学习1
shell 学习2
打印${value_0}
打印shell 学习1
打印${value_0}
打印shell 学习2二、使用变量
使用一个定义过的变量只要在变量名前面加美元符号$即可。
value_0shell 学习1
value_3打印${value_0}变量名外面的花括号{ }是可选的加不加都行加花括号是为了帮助解释器识别变量的边界因为我们一般不会使用中文所以有时候就会出现下面的情况
#!/bin/bashvalue_0shell study 1value_1echo $value_0xxxxxx
value_2echo ${value_0}xxxxxxecho $value_0
echo $value_1
echo $value_2
xhhcluo:~/study/shell$ ./shell-2.sh
shell study 1
echo
echo shell study 1xxxxxx
所以为了规范我们一般都会加上{}
三、将命令的结果赋值给变量
Shell 也支持将命令的执行结果赋值给变量常见的有以下两种方式
variablecommand
variable$(command) // 这个相对来说看起来更加直接我们可以直接ubunt的shell终端上运行
xhhcluo:~/study/shell$ cluo$(cat shell-2.sh)
xhhcluo:~/study/shell$ echo $cluo
#!/bin/bash value_0shell study 1 value_1echo $value_0xxxxxx value_2echo ${value_0}xxxxxx echo $value_0 echo $value_1 echo $value_2
四、变量操作
使用 readonly 命令可以将变量定义为只读变量只读变量的值不能被改变。
#!/bin/bashvalue_0shell study 1readonly value_0value_0shell study 2
xhhcluo:~/study/shell$ ./shell-4.sh
./shell-4.sh: 行 7: value_0: 只读变量
使用 unset 命令可以删除变量。 变量被删除后不能再次使用unset 命令不能删除只读变量
#!/bin/bashvalue_0shell study 1
value_1shell study 4readonly value_0unset value_0
unset value_1value_0shell study 2echo $value_1
echo $value_0
xhhcluo:~/study/shell$ ./shell-4.sh
./shell-4.sh: 第 8 行: unset: value_0: 无法取消设定: 只读 variable
./shell-4.sh: 行 11: value_0: 只读变量shell study 1