如何在getty或login程式中新增新的環境變數

我們生活周遭存在太多太多的 embedded system ,過去 embedded system 有專屬的 OS,現在 linux 也可以應用在嵌入式環境,不過本版將廣泛討論所有嵌入式系統不只 linux 喔,歡迎有這方面經驗或有興趣的朋友一同進來討論。

版主: chester

如何在getty或login程式中新增新的環境變數

文章hillvskobe » 週四 10月 15, 2009 3:41 pm

如題

我修改/etc/passwd讓user login之後進入一個叫clish的shell,
但在這個shell中沒辦法新增新的環境變數(user自訂的環境變數),
使用export指令只會秀出如下內容:
> export
export HOME="/home/root"
export LOGNAME="admin"
export OLDPWD
export PATH="/usr/sbin:/bin:/usr/bin:/sbin"
export PWD="/home/root"
export SHELL="/bin/clish"
export SHLVL="1"
export TERM="vt100"
export USER="admin"

但這些應該是getty或login預設的環境變數,
所以想請問大家有辦法在getty或login程式中修改既有或是新增使用者自訂的環境變數嗎?

謝謝!
hillvskobe
可愛的小學生
可愛的小學生
 
文章: 12
註冊時間: 週五 3月 28, 2008 11:15 am

文章tomjpsun » 週五 10月 16, 2009 8:31 am

看不懂耶,既然你說這個shell沒辦法新增新的環境變數(user自訂的環境變數), 那你的問題又是要新增使用者自訂的環境變數.....實在不懂意思!
tomjpsun
可愛的小學生
可愛的小學生
 
文章: 82
註冊時間: 週一 1月 03, 2005 2:40 pm

文章訪客 » 週五 10月 16, 2009 11:52 am

unset可將環境變數取消
在重新export
或直接export同名字就會蓋掉舊的
訪客
 

文章hillvskobe » 週二 10月 20, 2009 6:28 pm

tomjpsun 寫:看不懂耶,既然你說這個shell沒辦法新增新的環境變數(user自訂的環境變數), 那你的問題又是要新增使用者自訂的環境變數.....實在不懂意思!


我的猜測~系統運行的方式是login之後,直接用login程式運行/etc/passwd中指定的shell,
所以clish繼承了login程式預設的環境變數,
clish本身沒辦法用export之類的命令來新增變數,
clish有點類似是用system()的方式產生一個子shell來運行指令,
所以用export新增的變數並不會同樣產生在clish裡,
所以我才想說有可能在login(或getty)中新增變數嗎?
因為這樣才有可能讓clish繼承,
我知道有辦法在login中修改預設的PATH變數,
但不知道有辦法"新增"環境變數嗎?
hillvskobe
可愛的小學生
可愛的小學生
 
文章: 12
註冊時間: 週五 3月 28, 2008 11:15 am


回到 embedded system

誰在線上

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