天天看点

linux shell脚步使用讲解

查看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环境)丢失怎么办?

linux shell脚步使用讲解

如何指定shell环境?

linux shell脚步使用讲解

使用ctrl+c或者exit命令即可有退出shell环境

linux shell脚步使用讲解

启动shell脚本的程序

当建立了一个用户账号的时候,必须提供一套缺省的启动脚本让这个用户可以开始工作。

相当于dos下面的autoexec.bat或者config.sys的程序

Bash的启动脚本文件是:

.bashrc(.bash_bashrc)

.bash_profile(.profile)

root下面的bash shell

linux shell脚步使用讲解

当在linux系统上面创建用户的时候,如果不指定具体的家目录的话,会自动从这里拷贝一份到家目录下面

linux shell脚步使用讲解

通配符

*通配符:匹配任意多个任意字符

?通配符:匹配任意一个字符

Shell变量

语法

变量名由下划线(_)、字母、数字组成,但变量名不能以数字开头,大小写敏感

变量值为一个字符串

使用“$”符合获得变量的值

类型

本地变量

环境变量

未知参数变量

预定义变量

括号区分

( ) 优先选择( )内的执行

[ ] 任选其一

{ } 值都被引用

linux shell脚步使用讲解
linux shell脚步使用讲解

变量的名称=值(变量最好大写,这样容易区分)

本地变量 只针对当前用户本地优先,本次运行生效

环境变量 当下启动时还是生效

全局变量 所有人都可以用到的叫全局变量

linux shell脚步使用讲解

设置变量:变量名=变量值

引用变量:$变量名

清除变量:unset 变量名

查看变量:set

变量值置换

变量=${参数变量:-word}

变量=${参数变量:=word}

变量=${参数变量:?word}

变量=${参数变量:+word}

设置环境变量:export变量名=变量值

引用环境变量:$变量名

常用环境变量

PS1

PATH

EDITOR

HISTFILESIZE

HOME

EUID

变量

$()=``

shell环境变量配置文件

linux shell脚步使用讲解

如果用户的.bashrc和.bash_profile丢失了会怎么样?

linux shell脚步使用讲解
linux shell脚步使用讲解

案例一:创建一个备份/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

linux shell脚步使用讲解

查看备份的内容

linux shell脚步使用讲解

案例二:备份/temp/里面的内容

cp -av /tmp /123/tmp-$[$(date +%Y%m%d)-1]

echo "Backup of /tmp completed at: $(date)“

linux shell脚步使用讲解

解释: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
linux shell脚步使用讲解
注意:这里的用户密码是“password”

案例四:通过脚本批量添加用户

for num in $(seq 1 10)

do

USER=admin$num

echo password |passwd --stdin $USER

linux shell脚步使用讲解

案例五ipcheck检测

linux shell脚步使用讲解

本文转自  vbers 博客,原文链接:     http://blog.51cto.com/vbers/2051541   如需转载请自行联系原作者

继续阅读