2014-06-18 37 views
1

這聽起來像一個新手問題,但我一直在與Solaris合作多年,並被此難住。什麼是Solaris中的「退出」?

有人知道當我在Solaris命令行上輸入exit時會發生什麼嗎?

我使用的是Solaris 10,我想知道當我運行「exit」時會發生什麼。

我以爲這是一個命令,但我不能找到它:

$ uname -a 
SunOS base 5.10 Generic_150400-05 sun4v sparc sun4v 
$ which exit 
no exit in /usr/bin . /usr/local/bin /usr/local/bin /usr/ucb /usr/X/bin /sbin /usr/sbin /usr/local/sbin /usr/sbin /usr/sbin /usr/local/bin 
$ sudo find/-name exit 
$ 

感謝, 沃裏克。

+1

該過程結束了自己?我會想象,在內部,外殼在進行一些清理之後調用'exit(0)'。 –

+1

它會終止shell,所以在很多情況下它會讓你回到登錄提示符或關閉窗口。這是一個內置於shell可執行文件中的函數/命令。 – fvu

+2

'exit'是一個* shell內置的命令*,就像'cd',而不是一個可執行文件,這就是爲什麼它不能被找到。參見'man sh'(或適合於外殼)。 – user2864740

回答

6

exit是內置的外殼。想想一個外殼通常如何在沒有內建的情況下工作。它通過分叉一個新進程來執行命令路徑中的一個文件。退出終止當前進程。如果有外部exit程序,調用它將會退出exit程序。

因此,exit是bash本身(和其他shell)知道如何解釋(和cd一起)的內置命令之一。它只是在流程本身內部執行exit

維基百科上極好的解釋:http://en.wikipedia.org/wiki/Shell_builtin

+0

非常感謝。這正是我想知道的。 – Warwick

+2

'which'標識內置函數,函數和別名以及可執行文件的替代方法是'type'。 'type exit'返回'exit是一個shell內置'。 – rojomoke

+0

很高興知道!謝謝! – Brandon