bash局部變數匯出成整體變數

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

bash局部變數匯出成整體變數

文章genie » 週四 10月 13, 2005 12:56 am

請問一下各位大大
小弟寫了一個小程式
目的是星期六,日不關機
其他時間凌晨五點關機
程式如下
#!/bin/bash
today=`date +%a`
if [ "$today" != Sat ] && [ "$today" != Sun ] ;
then `shutdown -h 05:00 >/dev/null &` ; fi
SHT="This Server will Shutdown at 05:00 o'colck"
export SHT

這時候發現一個問題
雖然程式裡面已經下了export SHT
但是事實上
我直接下達export -p,set或env
並沒有看到SHT的變數
請問我該怎麼做
才可以讓變數宣告成整體變數..
genie
可愛的小學生
可愛的小學生
 
文章: 34
註冊時間: 週一 3月 17, 2003 8:43 am

文章bsdson.tw » 週四 10月 13, 2005 11:34 am

因為你執行這個程式的時候,
會開一個新的shell
然後你設定SHT
SHT就被設定在那個shell的環境底下了!
之後此shell結束,變數也隨之消失...

或許你可以直接寫在crontab裡面喔!
0 5 * * mon-fri halt

(man crontab)
bsdson.tw
可愛的小學生
可愛的小學生
 
文章: 67
註冊時間: 週一 4月 11, 2005 4:44 pm

文章genie » 週四 10月 13, 2005 5:45 pm

謝謝大大
我知道可以寫在排程內
但是我不想這樣做...
因為~~我想練習bash~~^^"

"SHT就被設定在那個shell的環境底下了!
之後此shell結束,變數也隨之消失... "
這應該指的是局部變數(local variables)
如果宣告成整體變數(global variables)
這樣我就可以在其他地方使用這個變數
現在問題是~~到底要怎樣宣告
才能順利的把局部變數(local variables)宣告成整體變數(global variables)
genie
可愛的小學生
可愛的小學生
 
文章: 34
註冊時間: 週一 3月 17, 2003 8:43 am

文章nxu » 週四 10月 13, 2005 10:20 pm

vi ~/.bashrc
代碼: 選擇全部
SHT="This Server will Shutdown at 05:00 o'colck"
export SHT


edit a file
代碼: 選擇全部
#!/bin/bash
type the program what you wnat to do.
nxu
懵懂的國中生
懵懂的國中生
 
文章: 112
註冊時間: 週二 3月 01, 2005 11:26 am
來自: Hell

文章genie » 週四 10月 13, 2005 11:20 pm

nxu 寫:vi ~/.bashrc
代碼: 選擇全部
SHT="This Server will Shutdown at 05:00 o'colck"
export SHT


edit a file
代碼: 選擇全部
#!/bin/bash
type the program what you wnat to do.


謝謝nxu的回答
不過...
我的程式最後
有加入
SHT="This Server will Shutdown at 05:00 o'colck"
export SHT
不是表示已經宣告出去了嗎
可是我用export或是env查詢
並沒有所謂的SHT變數...^^"
如果在步編輯.bashrc的形況下
可以宣告出SHT這個變數為整体變數嗎
謝謝回答...^^
genie
可愛的小學生
可愛的小學生
 
文章: 34
註冊時間: 週一 3月 17, 2003 8:43 am

文章genie » 週五 10月 14, 2005 2:16 am

我想我知道問題在哪了
http://phorum.study-area.org/viewtopic. ... ell+Script

看來shell script,我需要再加強..
謝謝各位的解答..^^
genie
可愛的小學生
可愛的小學生
 
文章: 34
註冊時間: 週一 3月 17, 2003 8:43 am


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客