原创 $* $@ $#各自的含義 區別

舉例說: 腳本名稱叫test.sh 入參三個: 1 2 3 運行test.sh 1 2 3後 $*爲"1 2 3"(一起被引號包住) $@爲"1" "2" "3"(分別被包住) 可當作數組使用 $#爲3(參數數量)

原创 shell中用$來引用變量的值,但對變量賦值的時候無需使用$符號

shell中用$來引用變量的值,但對變量賦值的時候無需使用$符號

原创 shell腳本中的全局變量和局部變量

在shell腳本的函數體外部聲明的變量是全局變量 在函數體內部聲明的變量是局部變量,可與外部變量重名,但是變量名前面要加上關鍵字local

原创 shell中用while循環實現連加操作

#!/bin/bash read COUNT a=1 add=0 while [ $a -le $COUNT ] do add=`expr $add

原创 shell的字符串截取命令cut

cut -b 起始位置 結束位置(b代表字節)按字節來截取,當然,位置可以省略其中一個 例如: cut -b 1-8 adfasdfdasfasfdsaf 截取1到8個字符

原创 shell中簡單的字符串替換操作

可以使用${}來完成: ${變量名/old/new} 如果要全局替換,則${變量名//old/new} 舉例: Var1=AAA echo ${Var1/$Var1/pre_Var1} 上述命令輸出:pre_AAA 相當於用字符串替換操

原创 shell中用case語句判斷輸入的一個鍵是大寫字母、小寫字母還是數字

#!/bin/bash echo "Hit one key only" read Keypress case $Keypress in [A-Z])

原创 $?打印上一條命令的返回值

$?打印上一條命令的返回值

原创 hgetall=hkeys+hvals

hgetall同時返回哈希表裏的鍵和值,hkeys返回哈希表裏的鍵,hvals返回哈希表裏的值

原创 有關無需密碼使用密鑰登錄ssh服務器的知識

甭管在哪產生密鑰對,一般私鑰id_rsa,公鑰是id_rsa.pub。 私鑰是客戶端保留,公鑰是上傳到服務器上的authorized_keys裏面 這樣就就可以使用密鑰認證來登錄服務器了 ps:通過私鑰可以提取出公鑰 當然,密鑰都放好了

原创 setex

setex裏的ex其實是expire,也就是把set和超時expire兩個命令結合成一個原子操作了。 在設置值的同時,指定生存時間(秒)

原创 shell中用${}做字符串截取

${變量名:起始位置:長度} 其實位置從0開始 而expr substr 字符串 起始位置 長度      中的起始位置從1開始

原创 shell中用expr命令做字符串截取操作

expr substr 字符串 起始位置 截取長度

原创 shell中簡單的case語句

#!/bin/bash read a case $a in a) echo a ;; b) echo b ;; c) echo c ;; *) ec