LINUX SHELL 笔记 02: 变量初识
2017-10-08 10:19
204 查看
https://www.shellscript.sh/variables1.html
变量是一个可操作(读、写)的内存块的名字。
赋值号两边不应该有空格!~
如果你认为 sum 里面是数字就大错特错了。
不论是整数、实数或是一切你喜欢的类型,
都将作为字符串存储。
只是 let 让解释器把变量当成 ...
(向后引用 :P)
Ⅰ、关于 export:
变量是一个可操作(读、写)的内存块的名字。
尝试-1
创建一个变量:root@iZwz:~/labs# sh mytest.sh Hello. root@iZwz:~/labs# cat mytest.sh #!/bin/bash MY_MESSAGE="Hello." echo $MY_MESSAGE
赋值号两边不应该有空格!~
尝试-2
从标准输入读取一行:root@iZwz:~/labs# sh mytest.sh WHAT IS YOUR NAME? xkfx Hello xkfx - HOPE YOU WELL. root@iZwz:~/labs# cat mytest.sh #!/bin/bash echo WHAT IS YOUR NAME? read MY_NAME echo "Hello $MY_NAME - HOPE YOU ARE WELL."
2、关于变量
变量里面到底是什么?
一切都是“字符串”。如果你认为 sum 里面是数字就大错特错了。
不论是整数、实数或是一切你喜欢的类型,
都将作为字符串存储。
只是 let 让解释器把变量当成 ...
(向后引用 :P)
变量的作用域
export 和 . (dot) 是两个很常用的命令,弄清楚这两个命令到底让计算机做了什么,就能很容易理解“变量的作用域”了 ~Ⅰ、关于 export:
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。 来自: http://man.linuxde.net/export[/code]
mytest.sh 的代码在下面!在下面!root@iZwz:~/labs# export MSG="AAAAAAAA" root@iZwz:~/labs# sh mytest.sh MSG=AAAAAAAA MSG=VALUE-2
Ⅱ、一旦一个脚本执行完毕,它所创建的“环境”、“变量”都将被破坏,我们可以通过 . 来引用脚本,而不是创建一个新的 shell 来运行它:root@iZwz:~/labs# cat mytest.sh #!/bin/bash echo "MSG=$MSG" MSG="VALUE-2" echo "MSG=$MSG" root@iZwz:~/labs# MSG="VALUE-1" root@iZwz:~/labs# sh mytest.sh # RUN THROUGH sh COMMAND, WHICH CREATE A NEW SHELL TO RUN IT. MSG= MSG=VALUE-2 root@iZwz:~/labs# . mytest.sh # RUN THROUGH . COMMAND, WHICH USES CURRENT SHELL TO RUN IT. MSG=VALUE-1 MSG=VALUE-23、何时使用 ${} ?
#!/bin/bash echo "What is your name?" read USER_NAME echo "Hello $USER_NAME" echo "I will create you a file called ${USER_NAME}_file" touch "${USER_NAME}_file"root@iZwz:~/labs# sh mytest.sh What is your name? xkfx Hello xkfx I will create you a file called xkfx_file root@iZwz:~/labs# ls mytest.sh xkfx_file
相关文章推荐
- linux shell 编程笔记 - shell脚本之变量
- 菜鸟Java学习笔记02--配置JDK环境变量的目的和HelloJava程序
- linux shell学习笔记(二) 变量和运算符
- Linux Shell 学习笔记(三)--Shell变量
- linux shell学习笔记2(变量和参数)
- (原创)c#学习笔记03--变量和表达式04--表达式02--赋值运算符
- linux shell学习笔记二---自定义函数(定义、返回值、变量作用域)介绍
- (原创)c#学习笔记06--函数02--变量的作用域02--参数和返回值与全局数据
- 黑马程序员_JAVA笔记02——标识符、进制、变量、运算符、if和switch语句
- Python学习笔记2(02-03):变量+运算符和表达式
- 《黑马程序员》java笔记->【02】局部代码块,控制变量的生命周期
- 笔记02 变量和数据类型
- 【JS学习笔记】02 对象、函数、变量、运算符
- 编程小白的第一本 python 入门书 学习笔记02 第三章 变量与字符串
- Linux C 学习笔记02-常量和变量
- Python学习笔记02 变量和程序的编写
- (原创)c#学习笔记05--变量的更多内容02--复杂的类型变量02--结构
- PHP笔记02变量的作用域
- < 笔记 > JavaScript - 02 JavaScript 变量
- (原创)c#学习笔记05--变量的更多内容02--复杂的类型变量03--数组