Linus:Talk is cheap, show me the code
程序:
程序编程风格:
shell程序:提供了编程能力,解释执行
计算机:运行二进制指令
编程语言:人与计算机之间交互的语言
低级编程语言:
顺序执行
选择执行
循环执行
shell编程:过程式、解释执行
shell脚本:
格式要求:首行shebang机制
shell脚本的用途有:
第一步:使用文本编辑器来创建文本文件
第二步:运行脚本
脚本代码开头约定
脚本的基本结构
CONFIGURATION_VARIABLES
FUNCTION_DEFINITIONS
MAIN_CODE
#!/bin/bash
# ------------------------------------------
# Filename: hello.sh
# Revision: 1.0
# Date: 2019/10/08
# Author: kjAlbert
# Description: This is the script
# Copyright: 2019 kjAlbert
# License: GPL
# ------------------------------------------
echo “hello world”
如果命令错误,报个错继续执行,语法错误会导致后续命令不再执行
bash -n FILE 可以检查语法错误,但也只能检查语法错误
bash -x FILE 可以显示一步一步的效果
变量:命名的内存空间
变量:变量类型
静态编译语言:使用变量前,先声明变量类型,之后类型不能改变,在编译时检查,如:java,c
动态编译语言:不用事先声明,可随时改变类型,如:bash,Python
强类型语言:不同类型数据操作,必须经过强制转换才同一类型才能运算,如java , c# ,python
print('magedu'+ 10) #提示出错,不会自动转换类型
print('magedu'+str(10)) #结果为magedu10,需要显示转换类型
弱类型语言:语言的运行时会隐式做数据类型转换。无须指定类型,默认均为字符型;参与运算会自动进行隐式类型转换;变量无须事先定义可直接调用
Shell中命名建议规则:
根据变量的生效范围等标准划分下面变量类型
变量赋值:name=‘value‘
可以使用引用value
COMMAND
;name=$(COMMAND)变量引用:${name} 或者 $name
显示已定义的所有变量:set
删除变量:unset name
变量声明、赋值:
变量引用:
显示所有环境变量:
删除变量:
bash内建的环境变量
引用变脸时需要紧跟数字时,用花括号把变量括起来就好了
echo $BASHPID 显示当前进程pid
环境变量:export 改动之后,不改变父进程的变量,再创建紫禁城就编程新的了
不完全切换,环境变量不切换
$_ 上一个命令的最后一个单词
只读变量:只能声明,但不能修改和删除
进程使用退出状态来报告成功或失败
原文:https://www.cnblogs.com/kjalbert/p/11635833.html