1. 程式人生 > >Shell指令碼中$X的含義

Shell指令碼中$X的含義

一、變數說明

$$
Shell本身的PID(ProcessID)
$!
Shell最後執行的後臺Process的PID
$?
最後執行的命令的結束程式碼(返回值)
$-
使用Set命令設定的Flag一覽
$*
所有引數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。
[email protected]
所有引數列表。如"[email protected]"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有引數。
$#
新增到Shell的引數個數
$0
Shell本身的檔名
$1~$n
新增到Shell的各引數值。$1是第1引數、$2是第2引數…。

二、demo例項

# touch variable.sh
# vi variable.sh
指令碼內容如下:
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:[email protected]"
儲存退出
  
執行指令碼
#sh variable.sh aa bb cc
number:3
scname:variable.sh
first: aa
second:bb
argume:aa bb cc

結果分析
通過顯示結果可以看到:
$# 是傳給指令碼的引數個數
$0 是指令碼本身的名字
$1是傳遞給該shell指令碼的第一個引數
$2是傳遞給該shell指令碼的第二個引數

[email protected] 是傳給指令碼的所有引數的列表

相關推薦

Shell指令碼$X含義

一、變數說明 $$ Shell本身的PID(ProcessID) $! Shell最後執行的後臺Process的PID $? 最後執行的命令的結束程式碼(返回值) $- 使用Set命令設定的Flag一覽 $* 所有引數列表。如"$*"用「"」括起來的情況、以"$1 $2 …

linux,shell指令碼set -x的意思

set -x a=10 命令執行結果: + a=10 echo $a + echo 10 10 set指令能設定所使用shell的執行方式,可依照不同的需求來做設定 -a  標示已修改的變數,以供輸

SpringBoot2.x應用啟動、關閉shell指令碼

本篇主要說明以下內容: 1.SpringBoot2.x應用啟動、關閉的shell指令碼 1 啟動指令碼 直接放到同jar包同一個目錄下,如下: #!/usr/bin/env bash APPLICATION_NAME='spblearn' CURRENT_PATH=`pwd` PID=""

shell指令碼載入資料檔案到hive表

如果執行時間允許,還可以增加判斷hive表是否存在的。 #!/bin/ksh #------------------------------------------------------------------------------------- #-

大資料 class$1,class$2,class$innerclass的$的含義 shell指令碼--echo和printf列印輸出

科普 | 一文讀懂 DAG(有向無環圖)技術 https://baijiahao.baidu.com/s?id=1613728387077554506&wfr=spider&for=pc https://baike.baidu.com/item/%E6%9C%89%E5%90%91%E6%

shell指令碼不同括號的含義

Linux中小括號()和大括號{}都是對其中的一串命令進行執行,但有一定的區別,其具體含義如下: ( ):括號內的命令會在一個子shell中執行 (( )):將括號內的數值進行比較與運算 $( ):命令替換,等同於反引號` ` $(( )):整數運算 { }:對括號內的一組字元進

40 個很有用的 Mac OS X Shell 指令碼和終端命令

System Restart Mac OS X: shutdown - r now Shutdown Mac OS X: shutdown now Power Management / Energy Saving Get overview of current Po

shell指令碼程式設計實現計算器功能並根據選擇將其保存於檔案

######################################################################### # File Name: project.sh # Author: lixiaogang # mail: [ema

Shell指令碼$0, $?, $! 等含義

$$ Shell本身的PID(ProcessID) $! Shell最後執行的後臺Process的PID $? 最後執行的命令的結束程式碼(返回值) $- 使用Set命令設定的Flag一覽 $* 所有引數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式

配置Apache2.x 支援shell指令碼和Python編寫CGI程式+測試程式

1.安裝apache <span style="font-size:18px;">[email protected]:~$ aptitude search apache p apache2

shell指令碼 -e -f的含義

-e filename 如果 filename存在,則為真 -d filename 如果 filename為目錄,則為真 -f filename 如果 filename為常規檔案,則為真 -L filename 如果 filename為符號連結,則為真 -r filena

Shell指令碼 ---執行指令碼前,許可權最好chmod a+x filename

[root@localhost ~]# echo $(( 13 % 3 ))1#註釋:這個有沒有空格是關鍵!!互動式指令碼:變數內容由使用者決定 [root@localhost ~]# vi sh02.sh  1 #!/bin/bash 2 # Program: 3 #

Linux Shell Bash 帶有特殊含義的退出碼

混淆 c++程序員 att fork ref onos with -cp nav Linux Shell Bash 帶有特殊含義的退出碼 用途說明 exit命令用於退出當前shell,在shell腳本中可以終止當前腳本執行。 常用參數 格式:exit n 退出。設置退

【轉】通過ionice和nice降低shell指令碼執行的優先順序

對於一些執行時會造成系統滿載的指令碼, 例如資料庫備份, 會影響當時其他服務的響應速度, 可以通過ionice和nice對其IO優先順序和CPU優先順序進行調整例如降低"/usr/local/bin/backup.sh"的IO優先順序, 讓其他程序順暢執行: /usr/bin/ionice -c2 -

shell指令碼 序列 併發問題

首先,如果只執行一個shell指令碼,那麼shell指令碼執行時是序列的,是從頭執行到尾的。 而且,如果在指令碼中,如果執行內部的shell函式,或者中途連線資料庫進行操作,這個過程也是序列的,不執行完這一條,不執行下一條語句。 但是,如果執行多個shell指令碼,可以併發執行,可以通過

shell指令碼 顯示檔案大小 顯示執行時間

顯示大小 echo $file size=`stat -c "%s" $file` 顯示執行時間 starttime=`date +'%Y-%m-%d %H:%M:%S'` endtime=`date +'%Y-%m-%d %H:%M:%S'` start_seconds

shell指令碼除錯心得

1 將指令碼產生的結果檔案和臨時檔案放入自己的資料夾下,不要放在原來的地方,好一起檢視 2 在除錯的時候,可以吧臨時檔案的刪除命令註釋掉,檢視臨時檔案具體的生成形式 3 在除錯的不明白的地方 用echo $var 4 用日誌txt,儲存echo的記錄和錯誤記錄 sh /xusywap.s

[shell指令碼筆記]基礎/變數

一些基礎用法 #! /bin/bash 宣告使用的shell名稱 exit 0正常退出,exit 1錯誤退出 shell指令碼內增加一行set -x,在執行shell指令碼時($sh -x run.sh),會打印出每一行命令的返回值,從而便於進行除錯。 變數 例子:用於判斷上一步的結果執行正確再執行下

Linux系統——shell指令碼

      shell指令碼程式設計 作用:通過命令列解析的方式,自動執行設定好的程式或命令程式碼。(若將指令碼掛到定時任務中,就會自動在非工作時間裡自動觸發執行程式)   Shell指令碼檔案以“.sh”結尾 規範的Shell指令碼第一行會指出由哪個程式

shell指令碼批量ping域名

此指令碼實現的功能是批量ping域名,將能ping通的和不能ping通的分類,並記錄能ping通的域名的相應解析地址 #!/bin/bash #判斷第一個引數是否是檔案,不是則退出 if [[ -f $1 ]];then do_name=(`cat $1`) else echo "$1檔案