编程基础-shell - DAY9

Linus: Talk is cheap,show me the code
 
三种逻辑
顺序执行
选择执行
循环执行
 
bash
-n  检查语法错误 无法检查命令错误
语法错误后续命令不执行
-x 跟踪语法执行过程
查询逻辑错误
 
变量
内置变量
PS1 PATH
 
用户自定义变量
 
静态语言和动态语言
动态编程语言 不需要事先声明 可随时改变类型
静态编程语言 使用变量前 先声明变量类型 之后类型不能改变 在编译时检查
 
强类型和弱类型
强类型语言 不同类型数据操作 必须经过强制转换才同一类型才能运算
弱类型语言 语言运行时会隐式做数据类型转换 无需定义类型 默认均为字符串
参与运算会自动进行隐式类型转换 变量无需事先定义直接调用
 
命名习惯
变量名 大写
局部变量  小写
函数名 小写
大驼峰 StudentFirstName
小驼峰 studentFirstBane
下划线 student_name
 
变量定义和引用
定义 
name=‘vlaue’
 
引用
$name
${name}
 
unset xxx 去除变量名
 
“变量名” 保留原来格式
‘变量名’  只认为为字符串
变量名+= 追究变量
 
set 显示所有变量
 
$BASHPID 子进程ID
pstree -p 查看父子进程
 
变量只在当前bash有效
 
export 看环境变量
unset 删环境变量
 
cat /proc/PID/environ 查询某个进程的环境变量
readonly name 常量 只读变量
 
位置变量
$# 参数数量
$* 所有参数 作为个整体
$@ 所有参数 每个是独立字符串
$0 脚本名
 
软连接 $0 实现的是运行脚本名
 
$? 前一个命令执行状态的返回码
0-255
0为成功 失败为1-255
exit 定义返回码
 
set -e 安全脚本
异常退出
 
set -u 变量没定义 
异常退出
printf  “指定格式”  “文本1”  “文本2”
%s 数字
%f 浮点数
默认左对齐 ‘ - ‘ 右对齐
\n 换行
RANDOM 0-32767 随机数
 
逻辑运算
1 真 
0 假
 
与 &
或 |
非  !
 
条件测试命令
test
等价[ xxx ]
 
read 默认输入到$REPLY
 
if comands;then
    commands 
elif commands;then
    commands
else
    commands
fi
 
case xxx in 
  0)
        xxx
        ;;
  1)xxx
        ;;
  *)
        xxx
        ;;
esac
 
for in xxx ;do
xxxx
done
 
 
 
 
 
 
 
 

posted on 2021-07-06 15:39  nyj0221  阅读(43)  评论(0)    收藏  举报

导航