Linux中執行指令碼引數獲取

2022-05-30 19:24:09 字數 1396 閱讀 6870

$# 是傳給指令碼的引數個數

$0是指令碼本身的名字

$1是傳遞給該shell指令碼的第乙個引數

$2是傳遞給該shell指令碼的第二個引數

$@ 是傳給指令碼的所有引數的列表

$* 是以乙個單字串顯示所有向指令碼傳遞的引數,與位置變數不同,引數可超過9

$$ 是指令碼執行的當前程序id號

$? 是顯示最後命令的退出狀態,0表示沒有錯誤,其他表示有錯誤

區別:$@, $*

相同點:都是引用所有引數

不同點:$* 和 $@ 都表示傳遞給函式或指令碼的所有引數,不被雙引號(" ")包含時,都以"$1" "$2" … "$n" 的形式輸出所有引數。但是當它們被雙引號(" ")包含時,"$*" 會將所有的引數作為乙個整體,以"$1 $2 … $n"的形式輸出所有引數;"$@" 會將各個引數分開,以"$1" "$2" … "$n" 的形式輸出所有引數。

$*和$@詳細區別請看此處

#!/bin/bash

echo

"-----------------

"for key in"$@

"doecho'$@

'$key

done

echo

"-----------------------------

"for key2 in $*

doecho'$*

'$key2

done

1、帶引號執行及結果:

[root@localhost ~]# bash file.sh linux "

python c

"-----------------$@ linux

$@ python c

-----------------------------$*linux

$*python

$*c2

、不帶引號執行及結果:

[root@localhost ~]# bash file.sh

linux python c

-----------------$@ linux

$@ python

$@ c

-----------------------------$*linux

$*python

$* c

學習永遠不晚。——高爾基

Linux中執行指令碼

bash shell 指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為hello.sh,檔案位置在 data shell目錄中並已有執行許可權。方法一 切換到shell指令碼所在的目錄 此時,稱為工作目錄 執行shell指令碼 複製 如下 cd data shell hel...

Linux執行指令碼

首先指令碼需要有執行許可權 chmod u x file.sh 執行指令碼有三種方法 1.file.sh 特點 開啟bash子程序來執行,也就是開啟額外的程序來進行,不影響原程序的變數 配置等 2.bash file.sh 特點 和.file.sh相同 3.source file.sh 或者 fil...

linux執行指令碼

linux下開機以某乙個使用者執行指令碼 etc rc.local新增想要被執行的命令即可 預設是以root使用者執行 2 以期望的使用者執行命令 su c ls l myfile.txt guowei 解釋 其中需要被執行的命令是 ls l myfile.txt 期望的使用者的 guowei,表示...