問題描述:
實驗室有一台用於linux教學用的機器,為每乙個學生在上面建了乙個使用者,作為上課用的。而我呢,正在做vlsi實驗。因為那台機器持久開著,所以我為了方便就在上面也建了乙個使用者,用於vlsi實驗。
cadence環境是在csh下的。但是管理員給我建的使用者預設的是bash環境,我又沒有超級使用者密碼,也不想麻煩管理員。於是我就想了個辦法。修改.bashrc檔案增加一行/bin/csh。讓自啟動乙個csh,就可以啦。
問題解決:
剛才把問題搞明白啦,原來我在.bashrc檔案中還加上了這麼一句export shell=/bin/csh。這樣的話我圖形介面登陸後,系統的shell環境變數就已經被設定成啦/bin/csh,因此你啟動乙個終端shell時都會預設進入csh環境。怪不得ps出來只有csh呢。這樣我吧export shell=/bin/csh。再重新登陸到圖形介面,開啟乙個終端shell,ps就會顯示出bash建立了csh。
問題描述:
還遇到乙個問題。csh沒有命令自動補齊,只要環境設定好,我就可以回到bash下啦。於是我就想在.cshrc檔案中加入一行exit。但是好像並不執行exit。這是為什麼呢?沒有找到問題的答案。
通過解決這些問題,順便了解一下登陸shell和非登陸shell的區別【摘】
家目錄下的配置檔案.bashrc中rc的含義是resource configuration
什麼是登陸shell?什麼是非登陸shell?
登陸shell是指:(1)使用者登陸時,輸入使用者名稱和密碼後啟動的shell;(2)通過帶--login引數的命令:bash --login而啟動的shell。對於使用者來說,登陸shell和非登陸shell的主要區別是:啟動shell時所執行的startup檔案不同。我在/etc/profile、~/.bash_profile、~/.bashrc三個檔案中分別通過echo命令列印出檔名。執行命令如下所示:
wangjk@wangjiankun:~$ bash
.bashrc
wangjk@wangjiankun:~$ bash --login
etc/profile
.bash_profile
.bashrc
wangjk@wangjiankun:~$
上面的結果說明:登陸shell執行startup檔案為:/etc/profile、~/.bash_profile、~/.bashrc(這裡只是從現象上得出的推論,這種推論是有問題的,稍後討論),而非登陸shell執行的startup檔案僅為:~/.bashrc。
bash作為登陸shell是由/etc/login程式解析/etc/passwd檔案而指定的,例如:wangjk:x:1000:1000:wangjiankun,,,:/home/wangjk:/bin/bash,其中紅色域指定了使用者的登入shell是bash。
事實上,bash作為登陸shell啟動時執行的startup檔案如下:
/etc/profile
~/.bash_profile,~/.bash_login or ~/.profile, first existing readable file is read
而bash作為非登陸shell啟動時讀取~/.bashrc。注意,作為登陸shell時bash並不讀取~/.bashrc,但是在檔案~/.bash_profile中通常都有如下語句來讀取~/.bashrc:
if [ –f ~/.bashrc ]; then . ~/.bashrc; fi
以上討論的是互動式bash shell,其實shell有兩種工作模式,就是:互動式和非互動式,執行指令碼時,shell就工作在非互動式模式下。在非互動模式下,bash讀取的startup檔案由環境變數bash_env來決定,例如,我在~/.test檔案中用echo命令列印語句:i test non-interactive shell,在test.sh指令碼中列印語句:this file is test.sh,執行輸出結果如下:
wangjk@wangjiankun:~$
wangjk@wangjiankun:~$ echo $bash_env
wangjk@wangjiankun:~$ ./test.sh
this file is test.sh
wangjk@wangjiankun:~$ export bash_env=~/.test
wangjk@wangjiankun:~$ ./test.sh
i test non-interactive shell
this file is test.sh
wangjk@wangjiankun:~$
注意,中間的那個空行表示環境變數bash_env為空,所以第一次執行指令碼test.sh時只輸出了一句話,在定義了環境變數bash_env為~/.test以後執行指令碼test.sh就列印了兩句話其中第一句是執行檔案~/.test列印出來的。
登陸mysql s MySQL登陸退出
單例項登陸mysql mysql mysql uroot 適合剛安裝後無密碼 mysql uroot p 標準登陸的方法 mysql uroot p password 密碼明文會洩露密碼,一般用於指令碼中,指令碼許可權root 700 多例項登陸mysql mysql s data 3307 mys...
關於HttpClient登陸
使用httpclient進行登入,網上找 很多,但真實性。可靠性卻並不高。找到乙個登陸開心網的,很明顯把cookie用錯了,在網上貼個 是那麼重要的事情嘛,而且同乙份 到處都是,是原創都分辨不了,如果是好的,有用的,還罷,如果不是,那意義何在呢,招人罵嗎?因工作需要,要從別的系統抓資料,經過學習,選...
ubuntu root 使用者登陸登陸辦法
習慣於圖形化操作的我們,不愛面對一堆的命令的操作,拿想要隨意操作所有東東,就想要提示登入的許可權 以root使用者登入就可以。但是,ubuntu預設並沒有以root使用者登入,so,我們需要做些配置,讓系統再啟動的時候直接以root使用者登入。ubuntu 12.04預設是不允許root登入的,在登...