Shell引數傳遞
在執行shell指令碼執行時,可以向指令碼傳遞引數,指令碼內用$1 $2 $3...
來獲取引數,$1
代表傳遞的第一個引數,以此類推。
指令碼如下
#!/bin/bash
echo "執行的檔名:$0"
echo "傳遞到指令碼引數的個數: $#"
echo "當前指令碼執行的ID號:$$"
echo "後臺執行的最後一個程序的ID號:$!"
echo "第一個引數為:$1"
echo "第二個引數為:$2"
echo "第三個引數為:$3"
echo "以單個字元顯示所有傳遞的引數:$*"
echo "顯示所有引數:[email protected]"
echo "顯示上個命令的退出狀態:$?"
執行結果如下
[root@localhost tmp]# sh test.sh 1 2 3
執行的檔名:test.sh
傳遞到指令碼引數的個數: 3
當前指令碼執行的ID號:2054
後臺執行的最後一個程序的ID號:
第一個引數為:1
第二個引數為:2
第三個引數為:3
以單個字元顯示所有傳遞的引數:1 2 3
顯示所有引數:1 2 3
顯示上個命令的退出狀態:0
引數 | 含義 |
---|---|
$# | 傳遞到指令碼的引數個數 |
$* | 以一個單字串顯示所有向指令碼傳遞的引數。 |
$$ | 指令碼執行的當前程序ID號 |
$! | 後臺執行的最後一個程序的ID號 |
[email protected] | 與$*相同,但是使用時加引號,並在引號中返回每個引數。 |
$? | 顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。 |
$*和[email protected]的區別
相同點:都是引用所有引數
不同點:
$* = "1 2 3" [email protected] = "1" "2" "3"
相關推薦
關於 Shell 引數傳遞 與 預設值
簡介 除了基本的獲取指令碼執行時的傳入引數外, 還有更便捷的語法糖: 引數預設值, 自動賦值. 基本傳參 先來一個示例: #!/bin/sh echo 引數0: $0; echo 引數1: $1; echo 引數2: $2; echo 引數3: $3; echo 引數4: $4; 執行測試
Linux/Unix shell 引數傳遞到SQL指令碼
在資料庫運維的過程中,Shell 指令碼在很大程度上為運維提供了極大的便利性。而shell 指令碼引數作為變數傳遞給SQL以及SQL指令碼也是DBA經常碰到的情形之一。本文主要討論瞭如何將shell指令碼的引數傳遞到SQL指令碼之中並執行SQL查詢。 有關shell與
Shell引數傳遞
在執行shell指令碼執行時,可以向指令碼傳遞引數,指令碼內用$1 $2 $3...來獲取引數,$1代表傳遞的第一個引數,以此類推。 指令碼如下 #!/bin/bash echo "執行的檔名
shell程式設計-引數傳遞
一、傳參介紹 (1)C語言中可以通過main函式的argc和argv給程式傳參 (2)shell程式本身也可以在呼叫時傳參給他。在shell程式內部使用傳參也是使用的一些特定符號來表示的,包括: $#表示呼叫該shell時傳參的個數。($#計數時只考慮真正的引數個數) $0、$1、$
jmeter 傳送加密請求 beanshell斷言 執行緒組間傳遞引數 jmeter bean shell斷言加密的響應資訊(加密介面測試二) jmeter 執行緒組之間的引數傳遞(加密介面測試三)
原文地址https://www.cnblogs.com/wnfindbug/p/5817038.html 最近在做http加密介面,請求頭的uid引數及body的請求json引數都經過加密再發送請求,加密方式為:ase256。所以,jmeter傳送請求前也需要對uid及jso
Jmeter之Bean shell使用(三)——執行緒組之間的引數傳遞
場景測試中,一次登入後做多個介面的操作,然後登入後的uid需要關聯傳遞給其他介面傳送請求的時候使用。 1、在登入介面響應資訊中提取uid欄位值 1>login請求 -->新增 -->後置處理器--> bean shell postprocessor 2>
[awk]awk 與 shell的引數傳遞(雙向)
1) 從bash傳遞匹配引數給awk: printf "Enter search pattern: " read pattern awk "/$pattern/ "'{ nmatches++ } END { print nmatches, "fou
Shell指令碼通過引數傳遞呼叫指定函式
我們在寫一些功能性指令碼的時候,往往會把操作相似或者引數類似行為接近的函式放在同一個shell指令碼中,這樣管理方便,維護簡單,也很清晰。對於這種情況,通常的辦法是,在shell指令碼中定義所有用到的函式,然後在正文程式碼中用case語句讀入輸入的命令函式引數來呼叫指定的相
linux -- shell指令碼呼叫其他指令碼,向shell指令碼傳遞引數
Shell 指令碼也可以看做是一個一個的函式,將命令進行了封裝。 看看自己的例子: outTop.sh 是最頂層的。【負責呼叫其他的shell 指令碼】out1.sh 是第2層。【被outTop.sh呼叫】outInsert是第2層。【被outTop.sh呼叫】檔案 out
shell指令碼引數傳遞和main函式引數傳遞方式類似
shell指令碼 test.sh呼叫的時候傳入引數,param1,param2: #test.sh param1 param2 那麼在指令碼內部相當於把 test.sh param1 param2 看成三個引數出入,所以引數0為$0 (test.sh),引數1為$1 (pa
shell函式傳遞帶空格的引數
shell中的引數以空格為分割符,經常會碰到需要傳遞帶空格的引數,例如傳遞帶空格的檔名。 方法很簡單:給引數加雙引號。 但是實際效果要看你的函式內容,一種可能的情況是: 其實你真的傳遞進去了帶空格的引數,但是在函式體內忽略了繼續對該變數加引號,導致出現很惱人的錯誤。 舉個
nodejs 引數傳遞
1、html頁面 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta name="viewport" content="width=device-width, initial-scal
form表單Get方式提交時,action中帶引數傳遞不了
form表單get方式提交時,action中帶引數傳遞不了 樣例: <form action="getPostServlet/getPost.do?param4=param4" method="get"> <input type="hidden" name="p
javaSE引數傳遞問題、返回值問題、內部類總結
思維導圖 引數值傳遞問題 之前我們見到方法傳參一般傳遞的都是基本資料型別的引數,比如我要一個int型別,只需要在呼叫方法的時候傳一個int型別的數值就好了。但是當傳入引數需要一個引用資料型別,那麼該如何考慮呢? 類名作為傳入引數 class Studen
VS2013 MFC寫dll 多介面 引數傳遞 小雜記
目錄 1. char[] 轉變 cstring 2. 輸出字串到txt、MessageBox、T2A、_splitpath_s 3. CStringArray的使用、開啟對話方塊將選中的檔名讀出來,允許選擇多個檔案,注意檔名快取 4. 全域性
React Native之函式作為引數傳遞給另外一個函式去呼叫
1 用法 我們一般喜歡把js裡面的函式作為引數傳遞給另外一個函式,然後再呼叫這個函式,有點像C語言裡面的函式指標 2 程式碼測試 寫了一個函式,2個引數分別是函式,然後更具資料決定呼叫哪個函式 /** *
SpringMVC之引數傳遞
1. 通過設定HttpServletRequest request 來獲取資料 jsp頁面: <form action="user/add1.do" method="post"> 賬號:<input type="text" name="userNumber" /
Python 函式的引數傳遞
本文轉載自:https://www.cnblogs.com/lustar/p/8393922.html C/C++中,傳遞引數的型別是可以指定的。一般來說,傳遞引數可以分為兩種:值傳遞和引用傳遞。對於值傳遞,引數傳遞的過程中進行了複製操作,也就是說,在函式中對引數的任何改動都不會影響到傳入的變數
MyBatis學習——第二篇(引數傳遞)
1:引數傳遞 在使用mybatis的過程中,除了上篇的簡單案例,我們面對的實際業務情況要複雜很多,在mapper檔案中會有各種各樣的業務場景 對於傳遞的傳遞的引數,和返回值都有這各種各樣的需求,本篇就傳遞引數做一個詳細講解 2:案例程式碼 通過實際案例,對不同的傳遞引數做詳細的案例分