使用特殊變量

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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章