shell的函數定義和重定向方法

字號+ 編輯: 国内TP粉 修訂: 德玛西亚 來源: 利志分享 2023-09-12 我要說兩句(0)

原360技術總監曾哥分享的shell語言系列技術資料分享。本篇主要講述shell的函數定義以及重定向的實現。

上代碼

#!/bin/bash
# shell函數和重定向
# shell 函數
# 函數的定義格式如下
# [ function ] funname [()]
# {
# action;
# [return int;]
# }
# 1、可以帶function fun() 定義,也可以直接fun() 定義,不帶任何參數。
# 2、參數返回,可以顯示加:return 返回,如果不加,將以最後一條命令運行結果,作爲返回值。 return後跟數值n(0-255)
demoFun(){
echo "這是一個hello world函數"
}
demoFun
funWithReturn(){
echo "輸入第一個數字"
read num
echo "輸入第二個數字"
read aNum
echo "這兩個數字分別是:$num和$aNum"
return $(($num+$aNum))
}
funWithReturn
echo "輸入的兩個數字之和是$?"
# 函數參數
# 在Shell中,調用函數時可以向其傳遞參數。在函數體内部,通過 $n 的形式來獲取參數的值,例如,$1表示第一個參數,$2表示第二個參數...
funWithParam(){
echo "第一個參數$1"
echo "第二個參數$2"
echo "參數的總個數是$#個"
}
funWithParam 2 4 5 6

輸出重定向

一般情況下,每個 Unix/Linux 命令運行時都會打開三個文档:

標準輸入文档(stdin):stdin的文档描述符爲0,Unix程序默認從stdin讀取數據。

標準輸出文档(stdout):stdout 的文档描述符爲1,Unix程序默認向stdout輸出數據。

標準錯誤文档(stderr):stderr的文档描述符爲2,Unix程序會向stderr流中寫入錯誤信息。

默認情況下,command > file 將 stdout 重定向到 file,command < file 將stdin 重定向到 file。

如果希望屏蔽 stdout 和 stderr,可以這樣寫:command > /dev/null 2>&1

shell文档包含

. filename 或者 source filename 兩種方式的效果相同,簡單起見,一般使用點號(.),但是注意點號(.)和文档名中間有一空格。

閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 防止退出linux終耑退出之後導致的nohup進程強制退出

  • Linux系統下word文档轉成pdf的辦法

  • ubuntu和debian安裝nginx或者tengine報錯, 找不到pcre依賴庫的解決辦法

  • 常見的web中間件請求返回狀態碼

我要說說
網上賓友點評