如何在国外社交网站上做原单外贸,深圳室内设计公司前十名,qq登录网页手机版,wordpress免费博客Shell的作用
命令解释器#xff0c;“翻译官”#xff0c;介于系统内核与用户之间#xff0c;负责解释命令行 用户的登录Shell
登录后默认使用的Shell程序#xff0c;一般为 /bin/bash 不同Shell的内部指令、运行环境等会有所区别
cat /etc/shells 编写第一个Shell脚本 … Shell的作用
命令解释器“翻译官”介于系统内核与用户之间负责解释命令行 用户的登录Shell
登录后默认使用的Shell程序一般为 /bin/bash 不同Shell的内部指令、运行环境等会有所区别
cat /etc/shells 编写第一个Shell脚本 格式以*.sh
*是你起的名字什么名字无所谓但是结尾必须是sh为结尾的
vim ceshi.sh
里面可以写一些命令他执行bash命令是依次从上到下执行的
由于是刚刚接触可以先编写一些简单的语句这里所谓的语句就是平时使用的命令 你可以随便写一些目前这个还是很好理解的 执行脚本的办法
一./脚本文件路径 二sh 脚本文件路径 三source 脚本文件路径
使用第一种要为其设置执行权限 ./脚本文件路径 chmod x ceshi.sh 第二种和第三种可以不给执行权限 但是他们的结果都是一样的 三种执行方式都是一样的效果 写入的都是依次执行的 更完善的脚本构成
为了更完善脚本向上面那样也是可以执行的但是可能会给后来的人添加难度 最好是第一排声明脚本运行的环境 注释信息 以‘#’开头的行为注释行 注释行不会执行 重定向 【类型】【操作符】【用途】 重定向输入 从指定的文件读取数据而不是从键盘输入 重定向输出 将输出结果保存到指定的文件覆盖原文件 重定向输出; 将输出结果追加到指定的文件 标准错误输出2 将错误信息保存到指定的文件覆盖原文件 标准错误输出2; 将错误信息追加到指定的文件中 混合输出 将标准输出、标准错误的内容保存到同一个文件中 例如下面的 uname -p kernel.txt # 将uname 输出的东西写入到 kernel.txt中并覆盖原有内容 uname -r kernel.txt #将输出内容追加到 kernel.txt 不会覆盖原文件内容只是在结尾处新加追加内容 echo 123456 pass.txt cat pass.txt useradd tom passwd --stdin tom pass.txt # 将pass.txt文件内容当成密码输入到tom的密码里也就是把tom密码设置为123456 管道操作
将左侧的命令输出结果作为右侧命令的处理对象
也就是说第一次的结果上再次进行第二次处理
例如
df -hT 查看磁盘使用情况
df -hT | grep /$ 查看磁盘使用情况 并检索前面输出内容中以/结尾的
df -hT | grep /$ | awk {print $1} 查看磁盘使用情况 并检索前面输出内容中以/结尾的并查看里面的第一个信息 默认是以空格切割开的$1 就是第一块 $4就是第四块 $1,$3就是看第1块和第三块1的 自定义变量
变量名变量值
变量名以字母或下划线开头区分大小写建议全大写
如果要查看的话可以使用echo $变量名 变量名变量值 定义了一个变量 为a赋值了如果要查看 echo $变量名 现在我们再赋值一个b值为world 输出多个变量可以使用 echo $变量名 $变量名 中间有没有空格都可以 变量后面添加别的可以使用 echo ${变量名}其他的字符 赋值时使用引号的含义
双引号 可以有空格或者其他其他符号 但是写了变量格式就会输出变量
单引号 使用变量并不会生效同时也支持符号 反撇符号的使用
例如
ls -lh which useradd 其中的含义和 ls -lh /usr/sbin/useradd 是一样的
他会优先处理 ·· 里的内容然后将 ·· 的输出内容添加到前面的命令中
rpm -qc rpm -qf which useradd
例如这个意思上是对的但是输出结果不对我们还有另外一种写法
rpm -qc $(rpm -qf $(which useradd))
也是依次执行
先执行最里面的 read输入变量 read 变量名 输入变量内容 输入完变量值后回车 如果需要带有输入提示的read可以使用 read -p 提示语句 变量名 现在ppp的变量值为hello world 设置变量的作用范围
变量范围分为局部变量和全局变量
向上面我们设置的变量全为局部变量 如上图我们在bash里设置了变量当我们在当前bash里查看就可以查看到当我们切换进入子bash里查看就查看不到了-------这个就是局部变量
设置全局变量 export 变量名变量值 将局部变量转换为全局变量 现在q和w均为局部变量
使用 export 变量名 后面可以跟多个变量名 export 变量名 变量名 …… 整数变量的运算expr expr 变量1 运算符 变量2 [运算符 变量3] ... 常用运算符 *加法运算 *减法运算 - *乘法运算 \* *除法运算 / *求模取余运算 % $() --- 命令嵌套 ${} ----- 解决变量名混淆问题 $(()) --- 实现整数的混合运算 特殊的Shell变量
由系统提前创建用来设置用户的工作环境
配置文件 /etc/profile、~/.bash_profile 常见的环境变量 *PWD、PATH *USER 、SHELL、HOME 这些我们没有手动创建是系统自动创建的
例如我们制作用户登录的欢迎脚本
vim /opt/tarro.sh写入
#!/bin/bash
echo 欢迎名称为 $USER 的用户登录
chmod x /opt/tarro.sh
vim /etc/profile在最后一行输入
source /opt/tarro.sh 位置变量
意思就是当我们在脚本里写了变量但是没有明确给变量的变量值
我们可以在执行脚本的时候在后面把值写上 空格隔开每个值对应着相应位置的变量
随便创建一个脚本里面写入 这时hello就对应着$1 world对应着$2 没有明确写变量值的变量可以在执行脚本前后面加上对应的值