在《高階bash指令碼程式設計指南》上有乙個例子,用重定向,通過shell對檔案隨機讀寫,但那方法在unix的sh下不管用,自己寫了乙個,例子如下:
#!/bin/sh
#randread.sh
echo 1234567890 > sfile
exec 3<> sfile
#read -n 4 <&3
dd bs=1 count=4 of=/dev/null <&3 2>/dev/null
echo . | dd bs=1 count=1 >&3 2>/dev/null
exec 3>&-
cat sfile
執行結果如下:
root@smp2> cat -n randread.sh
1 #!/bin/sh
2 echo 1234567890 > sfile
3 exec 3<> sfile
4 #read -n 4 <&3
5 dd bs=1 count=4 of=/dev/null <&3 2>/dev/null
6 echo . | dd bs=1 count=1 >&3 2>/dev/null
7 exec 3>&-
8 cat sfile
root@smp2>
root@smp2> ./randread.sh
1234.67890
root@smp2>
附abs上的例子:
87 echo 1234567890 > file # 寫字串到"file".
88 exec 3<> file # 開啟"file"並且給它分配fd 3.
89 read -n 4 <&3 # 唯讀4個字元.
90 echo -n . >&3 # 寫乙個小數點.
91 exec 3>&- # 關閉fd 3.
92 cat file # ==> 1234.67890
93 # 隨機儲存.
shell 對檔案判斷
shell if判斷 a 檔案 如果檔案存在為真。b 檔案 如果 檔案 存在 而且 是乙個 塊 特殊 檔案為真。c 檔案 為真 如果 檔案 存在 而且 是乙個 字 特殊 檔案。d 檔案 為真 如果 檔案 存在 而且 是乙個 目錄。e 檔案 為真 如果 檔案 存在。f 檔案 為真 如果 檔案 存在 而...
Unix下常用shell命令
殺掉指定名稱的程序 k.sh ps ef grep 1 grep v grep awk xargs kill 9例 sh k.sh gjobs 系統庫路徑 usr include profile中設定環境變數 export oracle base ora inst profile中自定義命令 ali...
Shell指令碼實現對檔案編輯
常見linux檔案的編輯命令 vi vim,有時候我們想寫乙個指令碼實現對檔案編輯,這個時候,可能就不夠用了,下面介紹一些辦法 1 echo命令 shell的echo命令常用於字串的輸出 例如 root mdw zxy echo hello world file1 root mdw zxy cat ...