Linux shell學習(1)重定向符號的使用和輸出函數

重定向:將標準的輸出或錯誤輸出的內容 輸出到文件

重定向符號的使用

Linux的輸入輸出設備:

ls -l /dev/std*
/dev/stdin -> /proc/self/fd/0		# 標準輸入設備(鍵盤)0
/dev/stdout -> /proc/self/fd/1		# 標準輸出設備(顯示器)1
/dev/stderr -> /proc/self/fd/2		# 標準錯誤輸出設備(顯示器)2


1. 輸出重定向符號

> >> 	用於重定向 標準輸出
	echo "hello world" > a.txt		# > 覆蓋文件內容
	echo "append hello" >> a.txt	# >> 追加文件內容

> 和 >> 只能重定向標準輸出,標準錯誤輸出仍然會輸出
> 和 >> 還常用於 在腳本中創建文件並且寫入內容、清空文件內容

2> 2>> 	用於重定向 錯誤輸出
	echo "error!" 2> err.txt		# > 覆蓋文件內容
	echo "append error!" 2>> err.txt	# >> 追加文件內容


&> 用於同時重定向 標準輸出和錯誤輸出
	echo "ifconfig" &> log		# > 覆蓋文件內容

如果僅僅是爲了隱藏腳本執行過程中的輸出信息,同時不產生多餘的文件,可以將內容重定向到

/dev/null	# Linux爲重定向輸出提供的“垃圾站”

2. 輸入重定向符號

< 用於將標準輸入內容重定向到文件或指令
echo "abc" > 1.txt
mkdir < 1.txt		# 創建名爲abc的文件夾


輸出函數

  1. echo
    用於輸出簡短的內容
echo "hello wolrd"
echo 'Good morning'

echo常用的兩個參數:

echo -e "123\n456"		# 翻譯字符串內的轉義字符
	123
	456
echo -n "123456"		# 輸出結果不自動換行
	123456
  1. printf
printf "hello world"
效果等同於 echo -en
  1. cat(HERE DOCUMENT)
    用於輸出多行內容,用法如下:
cat << eof
>1. 第一行內容111
>2. 第二行內容222
>3. 第三行內容333
>4. 第四行內容444
>eof
輸出結果如下:	
第一行內容111
第二行內容222
第三行內容333
第四行內容444

eof是用戶自定義的標識符,記錄開始和結束的位置,內容不一定爲eof,只要保證結尾和開頭的標識符完全相同即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章