查看shell脚本 [root@server253 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/tcsh /bin/csh /bin/ksh /usr/bin/ksh /usr/bin/pdksh [root@server253 ~]#
如果bash命令失效怎么办? useradd命令的/usr/sbin (shell环境)丢失怎么办?
如何指定shell环境?
使用ctrl+c或者exit命令即可有退出shell环境
启动shell脚本的程序 当建立了一个用户账号的时候,必须提供一套缺省的启动脚本让这个用户可以开始工作。 相当于dos下面的autoexec.bat或者config.sys的程序 Bash的启动脚本文件是: .bashrc(.bash_bashrc) .bash_profile(.profile)
root下面的bash shell
当在linux系统上面创建用户的时候,如果不指定具体的家目录的话,会自动从这里拷贝一份到家目录下面
通配符 *通配符:匹配任意多个任意字符 ?通配符:匹配任意一个字符
Shell变量 语法 变量名由下划线(_)、字母、数字组成,但变量名不能以数字开头,大小写敏感 变量值为一个字符串 使用“$”符合获得变量的值 类型 本地变量 环境变量 未知参数变量 预定义变量
括号区分 ( ) 优先选择( )内的执行 [ ] 任选其一 { } 值都被引用
括号区分
Shell变量 变量的名称=值(变量最好大写,这样容易区分) 本地变量 只针对当前用户本地优先,本次运行生效 环境变量 当下启动时还是生效 全局变量 所有人都可以用到的叫全局变量
本地变量 设置变量:变量名=变量值 引用变量:$变量名 清除变量:unset 变量名 查看变量:set 变量值置换 变量=${参数变量:-word} 变量=${参数变量:=word} 变量=${参数变量:?word} 变量=${参数变量:+word}
环境变量 设置环境变量:export变量名=变量值 引用环境变量:$变量名 常用环境变量 PS1 PATH EDITOR HISTFILESIZE HOME EUID
变量 $()=``
shell环境变量配置文件
如果用户的.bashrc和.bash_profile丢失了会怎么样?
案例一:创建一个备份/etc/sysconfig/的脚本 vim backups.sh
#!/bin/bash #This script creates a backup of /etc/sysconfig #into a datestamped subdiretory of ~/backups/ #mkdir /root/backups cp -av /etc/sysconfig /backups/sysconfig-$[$(date +%Y%m%d)-1] echo "Backup of /etc/sysconfig completed at: $(date)“
chmod 774 backups.sh
查看备份的内容
案例二:备份/temp/里面的内容 cp -av /tmp /123/tmp-$[$(date +%Y%m%d)-1] echo "Backup of /tmp completed at: $(date)“
解释:1.在根目录下面创建一个目录123 2.备份tmp目录下面所有的内容到新创建的根目录下面的123里面去 3.备份的名字为tmp-时间信息 4.备份完成之后输出显示Backup of /tmp completed at:在什么时间备份完成的
案例三:通过for循环批量创建用户 [root@server253 home]# for USER in user1 user2 user3 > do > useradd $USER > echo "password" | passwd --stdin $USER >done
注意:这里的用户密码是“password”
案例四:通过脚本批量添加用户 for num in $(seq 1 10) do USER=admin$num useradd $USER echo password |passwd --stdin $USER done
案例五ipcheck检测