09 shell指令碼 002 和

2022-05-20 01:38:09 字數 1001 閱讀 4342

1.重定向

資料輸入:鍵盤   ---標準輸入,但是並不是唯一方式

--stdin

echo "123456" |passwd --stdin "username"

例如:./useradd.sh < user.txt

資料輸出:顯示器  ---標準輸出,但是並不是唯一方式

ls /etc/ > a.txt

fd 檔案識別符號 0-9

0  1  2

0 --標準輸出

1 --標準輸入

2 --錯誤標準輸入輸出

常見重定向符號:

1.標準輸出

>  覆蓋重定向,非常危險!!!

set -c   關閉覆蓋重定向功能

>|    強制重定向

>>   追加重定向,不覆蓋

2.標準輸入

<       a <  b

trt   替換檔案內容

例:tr abc abc < /etc/passwd   > /etc/passwd.bak  #把/etc/passwd裡的所有abc替換成abc

<<  多行資料同時輸入

cat >> a.txt << eof

>1

>2

>3

>eof

3.錯誤輸出

2 >

不需要輸出內容,只需要輸出狀態

ls /etc/ > /dev/null

if  [ $? -eq 0 ];then

2 >>

&>   &>>   ==   2& > 1

ls /etc/ &> /dev/null  #不管前面正確與否,都放到/dev/null/裡

2.管道   -tee

tee     一路輸入,兩路輸出

tee /tmp/tee.out  //如果沒有檔案,會建立,預設如果有檔案會覆蓋

find [範圍] -name ab* -type f -perm 600 mtime +7 |xregs rm -rf

09Shell內建命令

1.相當於true 2.佔位符,類似於python中的pass 3.適用於 while while do 迴圈體 done適用於 while while true do 迴圈體 done適用於 util until false do 迴圈體 doneexit 用於退出整個程式結束當前迴圈,或跳出本層...

09 shell 單引號和雙引號

和c語言不一樣,shell指令碼中的單引號和雙引號一樣都是字串的界定符,而不是字元的界定符。單引號用於保持引號內所有字元的字面值,即使引號內的 和回車也不例外,但是字串中不能出現單引號。如果引號沒有配對就輸入回車,shell會給出續行提示符,要求使用者把引號配上對。例如 itcast echo sh...

Shell指令碼和shell

1.shell script,shell指令碼與windows dos下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,畢竟它使用了linux un...