Linux Bash Shell 学习笔记

1、bash脚本的参数处理

       BASH的参数可以用$加数字编号来访问,其中:

       $#代表脚本的参数个数

       $1代表脚本的第1个参数

       $2代表脚本的第2个参数

       以此类推,$n代表脚本的第n个参数,但是,不能用$10来访问第十个参数

        如果遇到参数超过10个的情况,必须处理或保存第一个参数$1,然后使用shift命令删除参数1并将所有剩余的参数下移一位,因此

$10就变成了$9,同时,$#的值将被您更新以反映参数的剩余量。下面的例子用来遍历脚本的参数列表:        

#!/bin/bash
i = 1;
while (($#> 0))
do
    echo $i, $1
    shift
    let i=i+1
done

存为test.sh,加上可执行权限,然后执行./test.sh  1 2 3 4 5 6 7 8 9 10,结果如下:

11
1, 1
2, 2
3, 3
4, 4
5, 5
6, 6
7, 7
8, 8
9, 9
10, 10
11, 11


 

 

2、shell脚本自动修改用户口令

oz想我写个脚本恢复默认设置,其中有一项就是要恢复成默认密码,在这之前,偶只晓得该密码是passwd,然后就会显示喊你输入旧密码,新密码,是一种与用户交互的形式。但素偶的默认密码其实是固定的,不用交互应该就可以实现,用脚本应该是可以实现的。

最开始在网上查,大部分都是看到用expect来处理用户交互,但素用在偶这儿感觉有点大材小用,于是呼叫了下师兄,师兄也不清楚,于是一起查,最后实践出一条命令是可行的,很简单

echo 用户名:密码 | chpasswd

其实我用了也不清楚到底是什么意思,因为偶对shell命令不熟,管道这类的也不大清楚。师兄解释了下:chpasswd就是通过用户输入用户名:密码来更改一组用户的密码。echo相当于用echo的输出做为chpasswd的输入。

命令很简单,道理也很简单,就怕不知道,想不到!

 

 

3、替换文件中的某一行内容

替换a.txt文件中的第二行为aaaa:

sed -e '2s/*/aaaa:g' a.txt
 

     

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值