先看3個腳本:
1.建立使用者:1.createuser.sh
2.登陸普通使用者:2.login.sh
3.切換其他使用者:su_localuser.sh
實作了:建立一個普通使用者,有普通使用者切換到另外一個普通使用者的功能。
附:linux下安裝expect
expect依賴于tcl/tk,是以在安裝expect之前先安裝tcl/tk。
tcl/tk8.4.16的下載下傳面頁:
軟體包的下載下傳位址:
<a href="http://prdownloads.sourceforge.net/tcl/tk8.4.16-src.tar.gz">http://prdownloads.sourceforge.net/tcl/tk8.4.16-src.tar.gz</a>
檢查系統,看tcl是否已經安裝。
[root@rhel ~]# rpm -qa|grep tcl
已經安裝的情況:
因為expect需要重新編譯後安裝,那麼就需要tcl的開發包。
rpm -ivh --force tcl-devel-8.4.13-3.fc6.i386.rpm
然後将expect-5.43包解開,開始讀install文檔,系統管理者告訴我,不用讀,直接運作 ./configure --help開參數。确實好使,又土了一次 :-( 。
1.首先确定tcl開發包安裝的位置
rpm -qpl tcl-devel-8.4.13-3.fc6.i386.rpm|more
2.然後根據參數,運作./configure
./configure --with-tcl=/usr/lib --with-tclinclude=/usr/include/tcl-private/generic
3.執行
make
4.執行
make install
完成第四步後,expect順利安裝成功。 -
沒有安裝的情況:
第一步,安裝tcl
[[email protected] download]#cd tcl8.4.16/unix/
./configure
安裝之後不要删除源碼包,在安裝expect時需要tcl的頭檔案。
安裝完畢以後,進入tcl源代碼的根目錄,把子目錄unix下面的tclunixport.h copy到子目錄generic中
第二步,安裝tk
[[email protected] download]#cd tk8.4.16/unix/
第三步,安裝expect
在不提供參數的情況下執行configure報錯:
checking for tcl private headers... checking for tclint.h... no
configure: error: can't find tcl private headers
再次運作configure腳本,并指定tcl的頭檔案所在目錄:
[[email protected] expect-5.43]#./configure --with-tclinclude=../tcl8.4.16/generic
腳本運作正常,進行執行make進行編譯
如果make,或是configure有錯誤的話,根據提示,再增加配置參數
編譯過程中未出現錯誤,執行安裝:
配置參數的意思是:
· --with-tcl=/usr/tcl/lib :(我的環境中是/usr/local/lib) 確定配置腳本找到臨時工具目錄中的tcl ,我們不希望它使用主系統中可能存在的tcl.
· --with-x=no : 告訴配置腳本,不要查找 tk (tcl 的 gui 元件) 或 x 視窗系統庫,這兩個都有可能存在于主系統中。
· -with-tclinclude :幫助腳本找到所需要的tcl 頭檔案。
簡單一點就是:
1.安裝tcl8.4.16
2.安裝tk
3.安裝expect
轉載請注明出處:http://www.cnblogs.com/haochuang/ 8年it工作經驗,5年測試技術與管理,2年産品與項目管理,曾參與過雲計算\雲存儲\車聯網産品研發工作; 業餘自媒體人,有技術類垂直微信公衆号;如有招聘或求職方面需求,請mail to [email protected] ;或通過 qq:363573922 微網誌:@念槐聚 聯系;