在腳本中重定向輸入和輸出時,并不局限于3個默認的文件描述符。南昌網(wǎng)絡公司-百恒網(wǎng)絡曾經(jīng)跟大家介紹過,在shell 中可以有9個打開的文件描述符,其他6個從3-8的文件描述符均可用作輸入或輸出重定向。你可以將這些文件描述符中的任意一個分配給文件,然后在腳本中使用它們。那么在shell腳本中如何創(chuàng)建輸出文件描述符?今天百恒網(wǎng)絡就來為大家簡單介紹一下。
可以用exec命令來給輸出分配文件描述符。和標準的文件描述符一樣,一旦將另一個文件描述符分配給一個文件,這個重定向就會一直有效,直到你重新分配。下面百恒為大家介紹一個在腳本中使用其他文件描述符的例子,供大家參考!
$ cat test13
#!/bin/bash
# using an alternative file descriptor
exec 3>test13out
echo "This should display on the monitor"
echo "and this should be stored in the file" >&3
echo "Then this should be back on the monitor"
$ ./test13
This should display on the monitor
Then this should be back on the monitor
$ cat test13out
and this should be stored in the file
$
這個腳本用exec命令將文件描述符3重定向到另一個文件。當腳本執(zhí)行echo語句時,輸出內(nèi)容會像預想中那樣顯示在STDOUT上。但你重定向到文件描述符3的那行echo語句的輸出卻進入了另一個文件。這樣你就可以在顯示器上保持正常的輸出,而將特定信息重定向到文件中。
也可以不用創(chuàng)建新文件,而是使用exec命令來將輸出追加到現(xiàn)有文件中。
exec 3>>test13out
現(xiàn)在輸出會被追加到test13out文件,而不是創(chuàng)建一個新文件。
看了以上操作,大家應該覺得都很簡單吧。是的,的確很簡單,而且也很實用,大家可以自己操作一下!
關于創(chuàng)建輸出文件描述符的方法,本公司就先為大家介紹到這里了,如有還有哪些不太明白的地方,隨時可來電和我們聯(lián)系,我們專業(yè)為您解決。此外,百恒網(wǎng)絡專業(yè)為您提供南昌物聯(lián)網(wǎng)開發(fā)、APP開發(fā)、微信開發(fā)等服務,如有需要,我們隨時為您效勞!