编程基础
编程了哟及处理方式
顺序执行 循环执行 选择执行
shell编程:过程示、解释执行
shell脚本:首行shebang机制
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
shell脚本的用途:自动化常用命令、执行系统管理和故障排除
创建简单的应用、处理文本或文件
bash -n 检测脚本语法错误
bash -x 一步一步显示执行结果
env export declare -x 列出所有环境变量
变量赋值:name=‘value’
可以使用引用value
shell编程:过程示、解释执行(1) 可以是直接字串:name=“root"
(2) 变量引用:name="$USER"
(3) 命令引用:name=COMMAND
name=$(COMMAND)
变量引用:${name} 或者 $name
" " 弱引用,其中的变量引用会被替换为变量值
' ' 强引用,其中的变量引用不会被替换为变量值,而保持原字符串
显示已定义的所有变量:set
删除变量:unset name
/etc/profile.d/env.sh 变量写入配置文件中
echo $BASHPID 查看当前环境
()小括号可以开启子进程
{ }花括号不可以开启子进程,
echo $RANDOM
环境变量
只读变量
readonly 不能修改的变量 readonly name
readonly -p 查看只读的变量
declare -r name 设置只读变量
172.18.0.7 账号wang passwd:magedua
== != 符号右侧可使用通配符,左侧变量名建议加双引号
=~ 符号右侧可使用正则表达式,左侧变量名建议加双引号
进程使用退出报告:
if
elif -o或
fi
#!/usr/bin/bash
if [ $# -eq 0 ];then 参数个数等于0 没有任何参数
echo "Usage: /root/batchusers userfile" 输出提示
exit 1 退出便给出返回值
fi 结尾Input file not found
if [ ! -f "$1" ];then 判断如果这个文件不是一个文件
echo "Input file not found"
exit 2 退出给出返回值
Fi 结尾
for user in `cat $1` 循环创建 cat 文件内容 把里面内容读出
Do
id $user &>/dev/null 判断 结果无论对错都不要
echo "user $user already exists " 已经存在
useradd $user -s /bin/false 创建
echo "user $user is created." 创建好给出提示
Done 结束循环