2011-03-21 17 views
0

任何人都可以幫助我?我怎麼可以創建標題內的shell腳本,所以它設置不同的標題每次我運行不同的報告..例如,如果有3個報告.. Report1 Report2報告3 ..它如何能夠在shell腳本中自動更改標題,所以當Report1是運行它將要說的報告1和報告2運行時標題自動更改爲報告2等等......使用字符串的shell腳本內的動態標題

+1

什麼是你的**標題**?一個環境變量?窗口的標題(例如Konsole)? – karlphillip 2011-03-21 21:10:35

回答

0

如果要顯示「報告」後面跟隨計數變量的值,它真的很簡單,例如,Bourne shell的(Bash和其他):

#!/bin/sh 

for i in 1 2 3 
do 
    echo "Report $i" 
done 
+0

Thanx爲你答覆,但我的標題是在單獨的腳本和我的報告生成在不同的腳本..我必須從兩個不同的腳本複製輸出並生成第三個文件中的報告 – 2011-03-21 21:18:24

0

取決於你如何告訴腳本運行報告1​​ VS報告2 VS報告3你可以用同樣的方法來更改標題。

如果你做「test.sh報告1」運行1「test.sh 2」運行報告2你可以這樣做:

if [[ $! -ne 1]] then 
    TITLE="report1" 
else 
    TITLE="report2" 
fi 

這當然是留出報告3只是使用ELIF對於第三種情況。

對不起,錯過了一個右括號。

+0

但我的問題是我有主腳本運行所有3報告和我的標題是在其他腳本中,所以當我運行該主腳本時,我必須從其他腳本獲取特定標題並生成3個報告文件,可以作爲郵件中的附件發送 – 2011-03-21 21:26:49

+0

,因此請將標題作爲第二個參數發送。如果使用bash,這將是「script.sh arg1 arg2」$ 0是腳本名稱,$ 1 $ arg1,$ 2 arg 2,$#將是傳遞參數的數量。檢查此鏈接瞭解更多。 [鏈接](http://www.linuxconfig.org/Bash_scripting_Tutorial#4-passing-arguments-to-the-bash-script) – grantk 2011-03-21 21:29:15

0

正如karlphillip所說的,您並未指定標題中的含義。

grantk的答案設置了一個名爲TITLE的變量。

ChrisJ's在控制檯輸出上顯示報告名稱。

我打算假設您在使用PuTTY的遠程系統上運行腳本,並且想要更改PuTTY窗口標題。 This是一個很好的指導窗口標題和圖標的調整,這與PuTTY一起使用。

在你的情況某處在每個開始報告您可以使用設置標題:

echo "\033]2;Executing Report 1\007" 

,並應改變窗口標題假設您發送您的輸出到控制檯。

給它一個去,讓我知道。