shell學習筆記2

2021-06-21 12:41:48 字數 1261 閱讀 9173

注意:shell變數賦值"="兩邊不能有空格。

shell中小括號,大括號結構和有括號的變數,命令的用法

1.$ 加乙個大括號來限定變數名稱的範圍,例如

var=test

echo $aa 

testaa

2.命令替換$(cmd)

shell掃瞄一遍命令列,發現了$(cmd)結構,便將$(cmd)中的cmd執行一次,得到其標準輸出,再將此輸出放到原來命令echo $(ls)中的$(ls)位置,即替換了$(ls),再執行echo命令 例如

$ ls 

a b c 

$ echo $(ls) 

a b c

3.一串的命令執行()和{}

()和{}都是對一串的命令進行執行,但有所區別:

a,()只是對一串命令重新開乙個子shell進行執行

b,{}對一串命令在當前shell執行

c,()和{}都是把一串的命令放在括號裡面,並且命令之間用;號隔開

d,()最後乙個命令可以不用分號

e,{}最後乙個命令要用分號

f,{}的第乙個命令和左括號之間必須要有乙個空格

g,()裡的各命令不必和括號有空格

h,()和{}中括號裡面的某個命令的重定向只影響該命令,但括號外的重定向則影響到括號裡的所有命令

4.posix標準的擴充套件計算:$((exp))

這種計算是符合c語言的運算子,也就是說只要符合c的運算子都可用在$((exp)),甚至是三目運算子。

注意:這種擴充套件計算是整數型的計算,不支援浮點型.若是邏輯判斷,表示式exp為真則為1,假則為0。 

$ echo $((3+2)) 

5 $ echo $((3>2))

shell高階篇

eval實現變數的間接引用

x='abc def'

y='$x'

echo $y

$xeval echo $y

abc def

函式的定義和使用

function foo() # foo為函式名

foo 「cool!」 # 函式呼叫

echo $? # 列印返回值

自定義函式 – 16進製制轉點分十進位制

a()))

str=$

if [ "x$str" = "x" ]

then

echo; return

else

echo -n "."; a $strfi}

#usage

a "ddb14ccf"

Shell學習筆記2

1 定義變數 定義變數 a b love 注意 變數名和等號之間不能有空格 這與熟悉的所其他程式語言都不一樣。命名規則 首個字元必須為字母 a z,a z 中間不能有空格,可以使用下劃線 2 使用變數 使用變數需要在已定義變數前加上美元符號 如 name jkl echo 注意 變數名外面的花括號是...

Shell程式設計學習筆記 2

email blog.oliver gmail.2004年11月 原文出處 http blog.csdn.yayong 用shell實現乙個命令或者工具的時候,對命令的引數進行合法性檢查是很有必要的。k shell是unix上最適合程式設計的shell,所以後面的例子都是ksh實現的。例1 下面 的...

shell 學習筆記

shell 是解釋型語言 移植性強課對應不同的直譯器 bin sh f 變數開頭以乙個字母或者下劃線,後接任意長度的字母 數字或者下劃線。命令 commod op 引數 輸入 輸出 重定向管道 echo printf 大口如小口出。特殊檔案 dev null bit bucket 刪除所有輸入的資料...