1、指令碼傳遞引數測試
#!/bin/bash
#test.sh
#test pass parameters
#by wzs 20171021
echo "$# parameters"
echo "$@"
執行指令碼如下:
book@wzs:~/work/tq210/shell$ ./test.sh a "b c d"
2 parameters
a b c d
2、管道
cmd1 | cmd2 , 把cmd1的標準輸出與cmd2的標準輸入相連
沒有程式數量限制,可以無限增加管道,如:
book@wzs:~/work/tq210/shell$ head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
book@wzs:~/work/tq210/shell$
book@wzs:~/work/tq210/shell$ head -5 /etc/passwd | grep bash
root:x:0:0:root:/root:/bin/bash
3、檔案描述符
無符號整數的控制代碼,開啟現有檔案或新建檔案時,核心都會返回乙個檔案描述符
讀寫檔案時需要指定檔案描述符
標準輸入的檔案描述符是0
標準輸出的檔案描述符是2
標準錯誤的檔案描述符是2
4、重定向
重定向標準輸出:> 或 1>
book@wzs:~/work/tq210/shell$ cat test.sh > 1.text
book@wzs:~/work/tq210/shell$ cat test.sh 1> 1.text
重定向標準錯誤:2>
重定向標準輸入:0<
重定向標準輸出和標準錯誤:&>
5、特殊檔案
/dev/null:所有寫入/dev/null的資訊都消失
/dev/zero:建立乙個指定長度,並且初始化為空的檔案
linux Shell程式設計學習筆記
linux shell程式設計 bin bash 這行據說是用來選擇shell的,但是我刪掉試了試沒什麼區別 據說是在某些版本的shell下會出錯。變數定義 如無格式要求可以不定義,如果需要宣告格式用declare命令。declare test test test declare afirx 引數說...
Linux Shell 程式設計學習(二)
case多選結構 基本結構 case word in case 1 command 1 case 2 command 2 case 3 command 3 case n command n esac 乙個demo while 迴圈 while test commands do command sel...
Linux Shell 程式設計學習筆記 1
linux shell命令主要有三種 內部命令,shell函式,和外部命令 內部命令 內部命令是shell直譯器本身包含的命令,在檔案系統中沒有相應的可執行檔案。例如,cd命令和echo命令就是兩個常用的shell內部命令。命令列在執行內部命令時,不需要建立新的程序,當然也就不需要銷毀程序。互動式的...