2013-07-21 4 views
-1

Мне было просто интересно узнать о логике среды Unix. У меня создается впечатление, что Unix - это операционная система, но также и оболочка. В качестве подмножества существуют более конкретные оболочки, такие как Bourne, Bash и Korn. И эти оболочки являются интерпретаторами и имеют свои собственные функции для интерпретации сценариев, а также имеют такие функции, как ping, pwd и т. Д.? Итак, в оболочках есть раковины? Все ли я правильно сказано?Как работает сценарий Unix/shell?

ответ

1

Операционная система Unix: не оболочка.

Оболочка - это просто программа, которая позволяет легко взаимодействовать с вашим компьютером, запуская программы и управляя потоками данных.

«Функции», которые вы упомянули, являются программами, а не частью оболочки.

Вы можете запустить оболочку из другой оболочки, если хотите. Например, вы находитесь в сеансе bash, и вы хотите переключиться на csh для чего-то. Вы запускаете csh, и когда вы закончите, вы получите exit, чтобы вернуться в оболочку bash.

Если вам нравится, вы можете запустить еще одну копию bash внутри сеанса bash. Вы можете сделать это, если хотите изменить некоторые переменные среды, а затем отменить свои изменения при возврате.

Во всех этих случаях все, что вы делали, было запущено программой из оболочки и ждало ее завершения. Если эта программа также оказалась оболочкой, ничего особенного.

+0

Право, спасибо. Итак, все подобные программы встроены в Unix? У каждой оболочки нет синтаксиса языка, если он собственный? –

+0

Корпуса имеют общий базовый синтаксис, иначе все будут запутаны. Но их особенности языка и синтаксис различаются. В конце концов, они являются основными переводчиками. Например, 'csh' использует синтаксис C-стиля. – paddy

+0

+1 за хороший ответ, хотя почему вы хотите запустить csh из bash вне меня :-) – paxdiablo

Смежные вопросы