網站首頁 編程語言 正文
如何傳遞參數到Shell腳本函數
通常,在其他腳本語言中,您可以將參數和參數作為function_name(parameter1, parameter2,…)傳遞給函數,這在shell腳本函數中不支持。在shell腳本函數中,您可以在函數調用期間直接傳遞參數,而無需在函數定義中定義它們的名稱,并直接使用位置參數 $1 作為第一個參數, $2 作為第二個參數,以此類推。
在shell腳本中定義函數有兩種方法
function function_name {
...
}
OR
function_name () {
...
}
無論是否傳遞參數,每個shell腳本函數都必須像上面那樣定義。您將注意到,在函數簽名中沒有指定任何實參。
下面介紹如何調用同一個shell腳本函數
function_name arg1 arg2 ...
正如前面提到的,每個shell腳本函數通過其位置$1、$2等引用參數。$0表示函數的名稱。
下面是一個shell腳本函數的例子,它讀取第一個參數并回顯它。創建一個空的shell腳本,如下所示。
$ sudo vi test_script.sh
向它添加以下行。
#!/usr/bin/env sh
test() {
? ? echo "Parameter #1 is $1"
}
test 20
用以下命令運行上面的腳本。
$ sudo ./test_script.sh
Parameter #1 is 20
重要的是要記住,只能在函數定義之后調用函數。如果你在定義之前調用它,那么它會給你一個錯誤。
您還可以調用在shell腳本函數之外定義的變量,并將它們用作參數。在下面的例子中,我們使用了在函數外部定義的變量 $name 作為參數
$ sudo vi test_script.sh
向它添加以下行。
test() {
? ? echo hello $name
}
name="tom"
test
用以下命令運行上面的腳本。
$ sudo ./test_script.sh
hello tom
在本文中,我們研究了向shell腳本函數傳遞參數的兩種不同方法。
原文鏈接:https://blog.csdn.net/weixin_43810067/article/details/124184296
相關推薦
- 2023-01-13 C語言實現繪制貝塞爾曲線的函數_C 語言
- 2023-05-16 Golang的鎖機制使用及說明_Golang
- 2022-08-20 解決python遞歸函數及遞歸次數受到限制的問題_python
- 2022-11-11 python?使用第三方庫requests-toolbelt?上傳文件流的示例_python
- 2022-06-30 如何使用Nginx解決跨域問題詳解_nginx
- 2022-04-06 通過實例詳解C語言函數返回值_C 語言
- 2022-08-26 C++類模板實戰之vector容器的實現_C 語言
- 2022-09-03 Nginx代理Redis哨兵主從配置的實現_nginx
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支