五.Bash Shell编程基础入门实战








知识回顾 运行脚本我们一般用sh 不用单独去加执行权限







OLDBOY=10只适用当前环境 局部变量
export OLDBOY把它设置为临时的环境变量应为已经=10了所以不用export OLDBOY=10




一般我们修改增加的都在/etc/profile文件里
了解跳板机的脚本放在/etec/profile.d/目录下 要求脚本要有执行权限chmod +x 脚本名
用户开机就会运行下面的脚本


一般用来判断参数的个数 是否有错误
$? 判断上一个命令是否执行正确
装完软件可以查看结果是否正确


编写脚本

read命令


read命令放入脚本

















if 如果 或 条件

$num1 大于 $num2 就显示出来





一般常用这种 greater大于 than比 less较小的 else另外 其他的

数量不对怎么解决20后面不识别


-ne 不等于2 not equal to不等于的简写
exit 退出脚本 前面的条件达不到就退出
Usage: please input 用法:请输入



三种情况都有了尽量用整数 小数shll不擅长 最后这个了解即可





1带入变量num中 再在下面的命令中执行完成显示 然后继续带入2

for num in {001..100}
do
echo "the $num number is :$num"
done
优化linux开机启动项目,只保留以下其他都关了


3.服务名字加入for循环
chkconfig|egrep "crond|sshd|rsyslog|sysstat|network" -v|awk '{print $1}'
取出想要关掉的服务 $(...)留下找到的结果
for name in $(chkconfig|egrep "crond|sshd|rsyslog|sysstat|network" -v|awk '{print $1}')
do
echo "chkconfig $name off"
done
先不直接运行命令echo查看结果

得到的结果无误
4.执行并检查
for name in $(chkconfig|egrep "crond|sshd|rsyslog|sysstat|network" -v|awk '{print $1}')
do
chkconfig $name off
done

只有想要的服务在3运行模式开启了
创建用户 随机密码
一
for id in stu{01..10}
do
useradd $id;pass=$((RANDOM+1000000)); echo "$pass"|passwd --stdin $id;echo -e "$id\t`echo "$pass"`">>/server/scripts/user.txt
done
二

linux运行脚本调试的技巧
sh -x 脚本--会显示脚本执行的过程
过程中+或++就是说明执行的命令
没有就是显示出来的内容
总结:
1.特殊变量 位置$1 $2 $0 状态$? 其他$#表示脚本里参数的个数
2.普通变量命名规则
3.普通变量与环境变量的区别 实际就是export的作用
4.与用户有关的文件和目录~ .profile.d
5.条件表达式,判断,循环
6.优化系统启动项目
7.批量添加用户并设置随机密码
五.Bash Shell编程基础入门实战的更多相关文章
- Linux(五)shell编程基础
一.Linux shell简介 1.shell概述 Shell 是用户与内核进行交互操作的一种接口,目前最流行的 Shell 称为 bash Shell Shell 是一门编程语言& ...
- 《Linux.Shell编程从入门到精通》读书笔记
第一章 第一个Shell程序 以 #!解析器名称 开头,表示选择哪个解释器解释shell脚本 source命令 export命令 env命令 unset命令 第二章 shell编程基础 函数传递 标准 ...
- 【转】Shell编程基础篇-下
[转]Shell编程基础篇-下 1.1 条件表达式 1.1.1 文件判断 常用文件测试操作符 常用文件测试操作符 说明 -d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立 ...
- 【转】Shell编程基础篇-上
[转]Shell编程基础篇-上 1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应 ...
- shell编程基础(转载)
Shell编程基础 原作者 Leal:请参阅页面底部的编者列表. 授权许可: 创作共享署名协议 GNU 自由文档许可证 注意:本文仍然在持续的修订之中,且错漏之处可能较多.如果能够阅读英语的话,可以考 ...
- 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!
http://blog.csdn.net/xiaominghimi/article/details/7603003 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...
- Linux学习之二十一-shell编程基础
Shell编程基础 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个 ...
- 7-1 shell编程基础之二
shell编程基础之二 算数运算 bash中的算术运算:help let +, -, *, /, %取模(取余), **(乘方),乘法符号有些场景中需要转义 实现算术运算: (1) let var=算 ...
- 6-2 shell编程基础
shell编程基础 编程基础 Linus:Talk is cheap, show me the code 程序和编程风格 程序: 程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结 ...
随机推荐
- python后端将svc文件数据读入数据库具体实现
如何用python将svc文件的数据读入到MySQL数据库里,在此直接上代码了,感兴趣的朋友可以贴代码测试: import pandas as pd import os from sqlalchemy ...
- 下载最新的glibc库并临时使用,而不污染原有系统环境
以下参考了文中提到的博文,那篇博文其中有他安装时报错的内容,以及如何解决的,特别是报错2,值得学习借鉴 另外升级glibc,这篇文章有补充https://blog.csdn.net/fzuzhangh ...
- telegram即时通信软件和outline ---- by 余弦 by倾旋
第一次遇到它 是在余弦的圈子里发现的tele推送,他当时关键部分说的极其少,就三个字,你懂的..看完以后,我想哭.我真的不懂.. 我是如何突破这个术语的 近期,随着信息源的增多.(收集了大量的可靠公众 ...
- redis启动异常
在官网上下载redis包,解压后启动. 启动redis报下面的错误! *** FATAL CONFIG FILE ERROR *** Reading the configuration file, a ...
- python3+selenium入门05-元素操作及常用方法
学习了元素定位之后,来看一些元素的操作,还有一些常用的方法 clear()清空输入框内容 click()点击 send_keys()键盘输入 import time from selenium imp ...
- Threading.local
在多线程环境下,每个线程都有自己的数据.一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁. Threading.local可以创建 ...
- 在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别
在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...
- luci 中require函数包含的路径
在 lua 脚本中常用的包含某个文件就是 require 函数. 例如: #!/usr/bin/lua // 表明使用的是lua脚本,像shell脚本一样 lo ...
- 添加struts2本地dtd限制
将源码保重的struts-2.1.7.dtd文件拷贝到dtds文件夹中 打开eclipse配置文件window/preferences,搜索xml找到XML Catalog
- oracle 11.2.0.4 rac 打补丁
本次安装pus环境是11.2.0.4 rac,打的patch为11.2.0.4.180717 (Includes Database PSU),gi补丁和数据库补丁一起打 安装最新opatch版本 un ...