歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> shell編程之函數簡單使用

shell編程之函數簡單使用

日期:2017/3/1 10:08:41   编辑:SHELL編程

寫一個shell腳本:

1、使用函數實現:
判斷一個用戶是否存在,用戶名通過參數傳遞而來;
如果存在,就顯示此用戶的shell和UID
如果不存在,就說此用戶不存在;
2、提示用戶輸入用戶名,而後將其傳遞給上面的函數;
3、判斷結束後不退出,而是提示用戶可繼續輸入其它用戶名,或輸入(quit)退出;

不廢話,代碼如下:

  1. #!/bin/bash
  2. #Author: MOS
  3. #Script name: funUinfo.sh
  4. #Date & Time: 2012-10-09/21:06:02
  5. #Version: 1.0.1
  6. #Description:
  7. #
  8. #定義函數
  9. Find_u(){
  10. #判斷輸入值是否為空,如果為空,則函數結束,返回值1
  11. [ -z $1 ] && return 1
  12. #判斷用戶是否存在,存在則顯示要求,不存在,函數結束,返回值1
  13. if id $1 &> /dev/null ;then
  14. echo "$1 UID is `id -u $1`"
  15. echo "$1 Shell is `grep "^$1:" /etc/passwd \
  16. |cut -d':' -f7 `"
  17. else
  18. return 1
  19. fi
  20. }
  21. #循環執行,以符合題目要求
  22. while :;do
  23. read -p "Please input A username[quit to exit]: " User
  24. if [ $User = quit ];then
  25. exit 0
  26. else
  27. Find_u $User
  28. Res=$?
  29. [ $Res -eq 1 ] && echo "No such $User."
  30. fi
  31. done
Copyright © Linux教程網 All Rights Reserved