非程式員的GNU Emacs使用心得……Shell Mode 第12集 如何從 shell 中退出來

來源:互聯網
上載者:User

為什麼要退出來?為什麼要如何退出來?為什麼不能用 exit 退出來? 為什麼... 沒錯,shell 的確是用 exit 退出來的,但是,可但是,我們說的不是這麼便宜的事情。。。

 

在我們每天的工作環境裡,有這樣一個特色。我們會先登入到一台中央機器上去,然後在從這裡登入到自己的目標機器上去。為什麼要這樣做呢?因為 密碼,那些惱人的密碼。在這個環境中,只有登入到中央機器上去,才需要輸入密碼。從此之後就不再需要任何密碼。這是一件很重要的事情。尤其是面對大量的機器和大量的人的時候,不用記憶那些無窮無盡的密碼是一件很讓人開心的事情。

 

這種方式也帶來了麻煩,就是結束工作之後,如何從這層層嵌套的 shell 當中優雅的退出來?

 

當然你可以對他置之不理,直接把網斷了,讓那些 login shell 就掛在那裡,但是這種簡單粗暴是非常令人不齒的。行為舉止要保持優雅。所以就要一遍一遍一遍一遍的退啊退。退完一套機器,再退另一套機器。。。。。。總有一天你會覺得忍無可忍的。

很多人都有這樣一個習慣,至少書上是這麼寫來著 ———— 當你覺得不能再忍的時候,你就會想到要寫一個指令碼。。。問題是這個麻煩真的可以通過指令碼搞定嗎?至少我是沒有看到有任何的希望。不是懷疑編寫指令碼的能力,而是沒有看到能把指令碼放在那裡?要把指令碼放在哪台機器上面?是在中央機器?目標機器?我自己的機器?還是每一台機器?要知道在這裡有無數的目標機器在不同的員工手裡流轉。。。維護是一件不可能的事情。

所以,我選擇的方式是從 Emacs 的 Shell mode 下手,在我自己的機器上,我編寫了這樣一個函數,

這個函數會自動協助我從 shell session 裡面優雅地退出來。這個命令被我綁定在 C-c e 按鍵組合上。當我需要退出多層嵌套的 shell session 的時候,只需要加上一個 prefix ,例如 C-u 3 C-c e  或者更簡單的 C-3 C-c e,就可以一次退出一個 3層嵌套的 shell session。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.