使用特殊变量

3案例3:使用特殊变量

3.1 问题

本例要求编写一个脚本/root/myuseradd,功能特性如下:
1)此脚本可接收2个位置参数,能够按照下列格式执行:

/root/myuseradd  用户名  密码

2)脚本执行后,能显示“一共提供了$#个参数”,然后在下一行显示 “用户名是$1,密码是 $2”,紧跟下一行开始输出对应文件的前几行内容。

3.2方案

使用位置变量可以取得在执行脚本时提供的命令行参数:

  • 表示为$n,n为序号
  • $1、$2、… … ${10}、 ${11}}、… …
    使用预定义变量 $#可以统计执行后脚本时提供的位置变量个数。
3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:编写/root/myuseradd添加用户的脚本

1)编写脚本代码

[root@server0 ~]# vim  /root/myuseradd
#!/bin/bash
echo  "一共提供了 $# 个参数"
echo  "用户名是 $1,密码是 $2 "
useradd  $1
echo  "$2"  |  passwd  --stdin  $1

2)添加执行权限

[root@server0 ~]# chmod  +x  /root/myuseradd.sh 

步骤二:测试/root/myuseradd 脚本

1)测试添加用户bob,密码设为1234567

[root@server0 ~]# /root/myuseradd  bob  1234567
一共提供了 2 个参数
用户名是 bob,密码是 1234567 
更改用户 bob 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@server0 ~]# id  bob
uid=1002(bob) gid=1002(bob) 组=1002(bob)

2)测试添加用户jerry,密码设为 1234567

[root@server0 ~]# /root/myuseradd  jerry  1234567
一共提供了 2 个参数
用户名是 jerry,密码是 1234567 
更改用户 jerry 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@server0 ~]# id  jerry
uid=1003(jerry) gid=1003(jerry) 组=1003(jerry)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章