深圳云计算学习:Shell编程之基础知识

深圳云计算学习:Shell编程之基础知识
No.1 Shell脚本的基本语法结构
第一行: “#!/usr/bin/env bash”叫做shebang, shell语法规定shell脚本文件第一行为整个文件的解释器
第二行: 为“#”开头的行为注释行默认不会被程序所读取, 用来说明文件及标定所属人员使用, 也可用来解释程序
第七行: 为格式化打印语句printf, printf可以把后面的“hello world”打印到指定的终端中, \n 为换行符
No.2 局部变量和全局变量及环境变量
所有的编程语言都利用变量来存放数据, 以备随后使用或修改. 和编译型语言不通的是, 大多数脚本语言不需要提前
声明变量的类型, 用到是什么类型就是什么类型, 而当我们想引用变量的时候在前面加上一个 $ 符号就可以访问到
该变量的值了. shell正常所设置的变量就是全局变量, 即便在函数体内部也是如此.
像其他编程语言一样变量的复制形式为 变量名 = 设置的值
[root@bavdu ~]# vim helloworld.sh
—.sh代表这个文件是个shell脚本,拓展名后缀,如果省略.sh则不易判断该文
件是否为shell脚本

  1. #!/usr/bin/env bash —shebang蛇棒, 解释器, 翻译
  2. Author: bavdu

  3. Email: bavduer@163.com

  4. Github: https://github.com/bavdu —这就是注释, 你没看错

  5. Date: 2019//

  6. printf “hello world\n”
    [root@bavdu ~]# sh helloworld.sh
    hello world
    [root@bavdu ~]# ./helloworld.sh
    [root@bavdu ~]# vim variable_daemon01.sh
    #!/usr/bin/env bash

Author: bavdu

Email: bavduer@163.com

Github: https://github.com/bavdu

Date: 2019//

fruit=apple # 将"apple"赋值给变量fruit
count=10
printf “We have $count ${fruit}(s)\n”
count=20
相较于全局变量来说, 还有局部变量, 局部变量的定义需要用到local去声明.
shell也内置了一些变量, 用于存储经常用到的配置信息, 比如可用的打印机、搜索路径等,这些叫做环境变量, 在终端
中敲 env 命令即可看到系统中内置的环境变量了, 通常设置环境变量的地点为/etc/profile 或 /etc/profile.d/*.
printf “we have $count apples”
printf “we have $count apples”
printf “we have $count apples”
printf “we have $count apples”
printf “we have $count apples”
printf “we have $count apples”
printf “we have $count apples”
[root@bavdu ~]# sh variable_daemon01.sh
[root@bavdu ~]# vim variable_daemon02.sh
#!/usr/bin/env bash

Author: bavdu

Email: bavduer@163.com

Github: https://github.com/bavdu

Date: 2019//

hello() {
local VARIABLE=“hello world”
printf “KaTeX parse error: Undefined control sequence: \n at position 9: VARIABLE\̲n̲" } hello print…VARIABLE\n”
[root@bavdu shell_scripts]# vim /etc/profile
export BAVDU=“Hello Bavdu.”
[root@bavdu shell_scripts]# source /etc/profile
[root@bavdu shell_scripts]# vim variable_daemon03.sh
#!/usr/bin/env bash

Author: bavdu

Email: bavduer@163.com

Github: https://github.com/bavdu

Date: 2019//

printf "KaTeX parse error: Undefined control sequence: \n at position 6: BAVDU\̲n̲" [root@bavdu s…JAVA_HOME/bin: P A T H e x p o r t C L A S S P A T H = . : PATH export CLASSPATH=.: PATHexportCLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#------java env- #
[root@shell local]# source /etc/profile
[root@shell local]#
[root@shell local]# java -version
java version “12” 2019-03-19
Java™ SE Runtime Environment (build 12+33)
Java HotSpot™ 64-Bit Server VM (build 12+33, mixed mode, sharing)
[root@bavdu shell_scripts]# vim variable_daemon04.sh
#!/usr/bin/env bash

Author: bavdu

Email: bavduer@163.com

Github: https://github.com/bavdu

Date: 2019//

printf “$1 $2 $3\n”
[root@bavdu shell_scripts]# sh variable_daemon04.sh bavdu is goodboy
bavdu is goodboy
[root@bavdu shell_scripts]# vim variable_daemon05.sh
#!/usr/bin/env bash

Author: bavdu

Email: bavduer@163.com

Github: https://github.com/bavdu

Date: 2019//

read -p "Please input your variable: " varName
printf “$varName\n”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值