linux脚本 的使用,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环境)丢失怎么办?

e61f90cd2b026cc33e1aacb0365e7b69.png

如何指定shell环境?

7a6609cf97dddd7193ffcd83beb402aa.png

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

335433dc521fc524cf8a429b39bc921d.png

启动shell脚本的程序

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

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

Bash的启动脚本文件是:

.bashrc(.bash_bashrc)

.bash_profile(.profile)

root下面的bash shell

0f25f1348d6abdc62b2553ae2b3538f6.png

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

b88a3675aeb83353c2684dfbd3ce64c1.png

通配符

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

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

Shell变量

语法

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

变量值为一个字符串

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

类型

本地变量

环境变量

未知参数变量

预定义变量

括号区分

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

[ ] 任选其一

{ } 值都被引用

括号区分

052858bfaed713442cae90fd56b7276a.png

bec17a4c64db806f8ab9f7db9752090e.png

Shell变量

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

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

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

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

7a8b47765ad76d3f1c45a5aeb1098eca.png

本地变量

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

引用变量:$变量名

清除变量:unset 变量名

查看变量:set

变量值置换

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

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

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

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

环境变量

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

引用环境变量:$变量名

常用环境变量

PS1

PATH

EDITOR

HISTFILESIZE

HOME

EUID

变量

$()=``

569990a652065aa757bd42bc1f7c9fa6.png

shell环境变量配置文件

dd8a30bf4c7181047052973f0bf793c6.png

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

15f8a1547502c6c0b072a2ac85f818df.png

c5356c3fec9db328d1c58f54d2ad4885.png

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

cd8845bc0c3bb037b9f8196a6ae894d5.png

a5a33d37fa57adb670850324fa05ca72.png

查看备份的内容

2cec2d30277d34b634c1b23f0f7be0ee.png

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

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

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

62550532848555c26b9573e9898c593d.png

解释: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

e2fe36117fded054b447f94929f9d334.png

注意:这里的用户密码是“password”

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

for num in $(seq 1 10)

do

USER=admin$num

useradd $USER

echo password |passwd --stdin $USER

done

32076703ac0dd5d02ea742d3eedf71bd.png

案例五ipcheck检测

b61f99b4c6a53f8b26f0d9b6aeffd2e6.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值