歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> linuxshell編程指南第二十五章------深入討論((

linuxshell編程指南第二十五章------深入討論((

日期:2017/3/1 13:51:00   编辑:SHELL編程

我們在介紹標准輸入和標准輸出以及while循環的時候已經幾次遇到< <的應用。我們學會了如何發送郵件,如何構建一個菜單,不過< <還有很多其他的用法。

本章將介紹以下內容:

快速創建一個文件。

自動進入菜單。

ftp傳輸。

連接至其他應用系統。

該命令的一般形式為:
command <<word
t e x t
w o r d

這裡再簡要回顧一下< <的用法。當shell看到< <的時候,它就會知道下一個詞是一個分界符。在該分界符以後的內容都被當作輸入,直到shell又看到該分界符(位於單獨的一行)。這個分界符可以是你所定義的任何字符串。

可以使用< <來創建文件、顯示文件列表、排序文件列表以及創建屏幕輸入。

可以使用這種方法快速創建一個文件,並向其中存入一些文本:
$ cat >> myfile <<NEWFILE

現在可以輸入一些文本,結束時只要在新的一行鍵入NEWFILE即可,這樣就創建了一個名為yfile的文件,該文件中包含了一些文本。

如果打開了一個已經存在的文件,輸入的內容會附加到該文件的末尾。

如果使用tab鍵,注意,一些老版本的shell可能無法正確理解它的含義。為了解決這一問題,可以在< <之後加一個橫槓-,就像下面這樣:
cat >> myfile <<- NEWFILE
[root@localhost huangcd]# cat >>myfilexx <<newfile
> nihao
> huang chengdu
> newfile
[root@localhost huangcd]# cat newfile
cat: newfile: 沒有那個文件或目錄
[root@localhost huangcd]# cat myfilexx
nihao
huang chengdu

從菜單來看,如果要備份所有的數據庫,需要鍵入:
1) 菜單腳本的名字,sybbackup。
2) 鍵入2。
3) 鍵入3。
4) 鍵入Y。

下面的腳本能夠自動運行數據庫備份腳本sybbackup:

讓我們來分析一下這一部分,這裡給出了腳本sybbackup的全路徑;>>$log_f 2>&1意味著所有的輸出都重定向到$logf中,該變量的值為/logs/sql.backup.log。這是一個良好的習慣,因為這樣就能夠捕捉到所運行的程序或腳本的所有輸出,如果出現錯誤的話,也能夠被記錄下來。<<MAAY之後的內容就是手工運行sybbackup腳本所需要輸入的內容,直到遇到另外一個MAYDAY結束。

Copyright © Linux教程網 All Rights Reserved