Shell 学习(三、vi变量和数值运算,父shell和子shell)

来源:互联网 发布:python简明教程中文 编辑:程序博客网 时间:2024/06/05 08:16
Shell脚本的变量不需要声明的

对变量赋值有两种方式, 直接用“=” 或者用键盘输入值

#!/bin/bash
name1="Jack"
echo $name1

$name1abc当后面有其他字符 ,需要 echo ${name1}abc

键盘输入值
#!/bin/bash
echo "请输入你的名字:"
read name1
echo $name1

输出一些系统命令的值

echo date
echo `date` 也等同于 echo $(date)

`反引号, 在键盘的左上角 Esc键下面的一个键, 数字键1的左边

//=======================================================
子Shell 如何 得到 父Shell的变量值 , 下面来演示一下

bash - 父Shell
sh - 子Shell

[17rumen@localhost ~]$ sh
sh-3.2$

在父shell中设置的变量值 , 在 子shell中不能得到, 需要在父shell使用 export来声明
相当于全局变量

[17rumen@localhost ~]$ a=10
[17rumen@localhost ~]$ echo $a
10
[17rumen@localhost ~]$ sh
sh-3.2$ echo $a

------------------------------------
[17rumen@localhost ~]$ export a=10
[17rumen@localhost ~]$ echo $a
10
[17rumen@localhost ~]$ sh
sh-3.2$ echo $a
10

通过 exit 一层层退出子shell

//========================================================
关于数值运算

echo 1+2 又或者 echo 1 + 2    都认为是字符串输出,不会进行运算

要使用expr 主要空格问题 或者 echo $((1+2))

变量a,运算后赋值返回给a
[17rumen@localhost ~]$ a=10
[17rumen@localhost ~]$ a=`expr $a + 20`
[17rumen@localhost ~]$ echo $a
30