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...