Linux思维导图之shell脚本编程基础、习题
思维导图百度云分享:链接:https://pan.baidu.com/s/1UMvudlv-xEG_pFtOPdCWhg密码:x6oa
路径:
外部命令脚本执行需在路下,cp到路径某个路径下或将外部命令路径加到路径里在其他任何地方均可运行;或绝对路径相对路径都可以;
/etc/profile.d/ xxx.sh加当前路径到PATH; ./ etc / profile.c / xxx.sh立即生效;之后再其他路径下都可以直接执行,前提要有该脚本。不利于安全.hell脚本
加注释#;脚本建完加权限,写路径(放PATH变量/绝对路径/);
./source+x.sh影响当前进程;
变量:
普通变量:当前进程有效;
环境变量:可以传给子进程; export +赋值;
位置变量:$ 1,$ 2 ...
只读变量:PS1 ...
特殊变量:$#$ * ..
(()); $ []; $();
test:
[]不能用正则表达式,字符用引号引用,比较数值和字符组等;数字-eq -qt等;
[[]]用于正则表达式,表达字符串的时候不能用双引号引用,用户复杂判断; =〜正则包含,==精确匹配,注意通配符和符号以及在正则在定量区别中的引用;
但是变量都要加,未设置可举例;
test指向性; -L / h和-d,先判断文件是不是软链接,rwx看实际权限;
组合测试:
1.CMD1 && / || CMD2;!CMD
2.EXP1 -a / o EXP2;!EXP
touch / etc / nologin禁止普通用户登录
阅读:
内置命令;输入模式;可以多个赋值,但最好1对1;前面带上提示(请...) ;
-p显示紧跟描述信息; -s静默; -n数字指定长度; -d指定结束符; -t秒限制登录时长;
脚本中别名无效,不能调用;
curl实现远程调用脚本;
eq(等于)=; le(less)<; gt(更大)>
实战题:
1,
2,
3,
4,
判断CentOS的版本:
判断用户账号的存在性实验:
判断IP能否平安通实验:
是或否选择实验:
鸡兔同笼实验: