Басх није једина Линук шкољка. Лако је испробати друге шкољке, као што је Зсх, који је веома популаран. Када пронађете ону која вам се допада, користите команду цхсх да бисте је поставили као подразумевану шкољку. Показаћемо вам како.
Преглед садржаја
Зашто је шкољка важна
Љуска седи између вас и оперативног система. Обезбеђује окружење унутар прозора терминала које вам омогућава да куцате команде и покрећете програме. Схелл проверава ваш унос и открива шта желите. Ако може сам да изврши ваше лицитирање, то и чини. Ако му је потребна помоћ споља, он претражује путању и проналази програме који могу да ураде све што тражите.
Постоји много различитих шкољки доступних на Линуку. Сви вам омогућавају да обављате исте основне задатке: истражите систем датотека, радите са датотекама, покренете програме и покренете скрипте. Међутим, сваки од њих обавља ове задатке на свој начин, и имају своје посебне карактеристике и идиосинкразије.
Шкољке обично дизајнирају људи који желе да се ствари понашају на специфичан начин. Ако је ваше размишљање у складу са размишљањем тог дизајнера, та шкољка би вам могла добро пристајати. Осим тога, испробавање нове љуске на Линук-у је лако.
У већини Линук дистрибуција, укључујући Убунту, подразумевана љуска је басх. Ради одличан посао и веома је способан. Међутим, друга љуска може понудити разлику у уштеди времена која би имала велики утицај на ваш ток посла. Никада нећете знати ако не погледате!
Канта пуна шкољки
Раније смо покрили различите Линук шкољке, али ево кратког увода у најчешће:
басх: Тхе Боурне опет шкољка је подразумевано у многим дистрибуцијама.
рбасх: Ово Ограничен басх схелл пружа минималну функционалност особи или скрипти која се изводи у њој.
пепео: Тхе Алмкуист схелл је лакша верзија басх-а.
цртица: Дебиан Алкуист Схелл је подразумевана схелл скрипта у Убунту. Док је басх подразумевана пријава и интерактивна шкољка, дасх се користи за покретање системских процеса јер је много лакши од басх-а.
зсх: З шкољка је модеран приступ басх породици шкољки. Нуди згодна побољшања, као што су провере правописа команди и предложене исправке.
риба: Ово пријатељска интерактивна шкољка је написан од нуле и није изведен ни из једне друге породице шкољки. Намењен је да буде лак за употребу. Између многих других погодности, фисх нуди предлоге за команде на основу ваше историје и садржаја тренутног фолдера, слично предиктивни текст.
ксх: Тхе КорнСхелл пружа посебно јак скриптни језик.
Наведите инсталиране шкољке
Да бисте видели које су шкољке инсталиране на вашем рачунару, користите ову команду. Једноставно наводи садржај датотеке /етц/схеллс:
cat /etc/shells
Споменули смо басх, дасх и рбасх, али шта је сх?
сх ис тхе Тхомпсон шкољка, написана давне 1971. године Кен Тхомпсон оф Белл Лабс слава. Више се не одржава и одавно је замењен модерним шкољкама. Укључен је искључиво ради одржавања компатибилности са старијим скриптама које још увек имају следеће као први ред:
#!/bin/sh
Ово налаже систему да користи сх схелл за извршавање скрипте. Да ли заиста имате ту древну шкољку на својој машини и да ли се она користи за покретање ваших скрипти? Команда вхицх ће нам рећи који се програм заправо покреће када унесете команду.
Хајде да видимо шта се покреће када унесете сх:
which sh
Чини се да ово проналази бинарни фајл. Међутим, ако копамо мало дубље, видећемо да је то симболичка веза која заправо указује на црту, лагану шкољку која се користи за извршавање скрипти:
ls -l /bin/sh
То је уредан, лаган начин да се обезбеди сигурносна мрежа за скрипте које очекују да ће пронаћи сх на модерним системима.
Инсталирање друге шкољке
Хајде да инсталирамо рибљу шкољку и поставимо је као подразумевану за Дејва. На Убунту-у укуцавамо следећу команду:
sudo apt-get install fish
На Мањароу користите пацман:
sudo pacman -Sy fish
На Федора-и откуцајте следеће:
sudo dnf install fish
Када је инсталација завршена, можете још једном проверити инсталиране шкољке:
cat /etc/shells
Наша нова шкољка се појављује као /уср/бин/фисх. Обратите пажњу на тај пут — ускоро ће вам требати.
Променљива окружења $СХЕЛЛ
Променљива окружења $СХЕЛЛ садржи име ваше тренутне љуске. Можемо да проверимо на који је подешен помоћу еха:
echo $SHELL
Започнимо рибљу шкољку:
fish
Сада, хајде да поново проверимо шта каже променљива окружења $СХЕЛЛ:
echo $SHELL
Први пут када користимо ецхо $СХЕЛЛ, налазимо се у басх схелл-у. Променљива окружења садржи путању до басх извршне датотеке, /бин/басх.
Када покренемо рибљу шкољку, добијамо пријатељску поруку добродошлице и командна линија се мења. Оно што би могло бити изненађујуће је да $СХЕЛЛ окружење још увек држи путању до басх извршне датотеке, /бин/басх. То је у реду—ово је нормално.
Када покренете нову љуску (или било који други програм), она наслеђује окружење родитељске љуске. Дакле, рибља шкољка наслеђује глобалне и извезене варијабле окружења од басх шкољке. Пошто вредност у променљивој окружења $СХЕЛЛ није промењена, она има исту вредност у љусци рибе коју је имала у басх љусци.
Покрећемо рибу као и сваки други програм. Такође можемо користити излаз за излазак из рибље шкољке. Затвара се као и сваки други програм и враћамо се на басх схелл.
То је сјајно за испробавање нових шкољки, да видите шта могу да ураде и да ли се слажете са њима. Можете истражити пре него што направите скок и усвојите један као своју љуску.
Ако одлучите да рибу — или било коју другу шкољку — учините подразумеваном, мораћете да користите команду цхсх.
Команда цхсх
Команда цхсх вам омогућава да промените подразумевану љуску. Трик је бити свестан да вам омогућава да промените и подразумевану пријаву и подразумеване интерактивне шкољке. Можда бисте желели да промените једно или друго, или обоје.
Кад год се пријавите да бисте добили командну линију, користите љуску која је конфигурисана да буде ваша шкољка за пријаву. Када сте већ пријављени и отворите прозор терминала, користите љуску која је конфигурисана да буде ваша интерактивна шкољка. То могу бити исте или различите шкољке.
Да бисте подесили своју шкољку за пријаву, користите цхсх без параметара:
chsh
Од вас ће бити затражено да унесете лозинку. Затим морате унети путању до нове љуске и притиснути Ентер.
Ако успоставимо даљинску везу са овим пробним рачунаром са другог, наћи ћемо се у љусци рибе када се пријавимо.
Да бисте променили своју интерактивну шкољку, користите цхсх са опцијом -с (љуска). Проследите путању до нове љуске на командној линији:
chsh -s /usr/bin/fish
Од вас се тражи ваша лозинка и враћате се на командну линију ваше тренутне љуске. Морате да се одјавите и поново пријавите да би промена ступила на снагу. Када то урадите, видећете поздрав и командну линију рибље шкољке.
Променљива окружења $СХЕЛЛ сада садржи путању до ваше нове подразумеване љуске:
echo $SHELL
Промена љуске другог корисничког налога
Ако имате роот привилегије и можете да користите судо, можете променити љуске других корисничких налога. Команда је иста као и пре, са додатком корисничког имена те особе у командну линију:
sudo chsh -s /usr/bin/fish mary
Када се Мери следећи пут пријави, видеће нову шкољку када отвори прозор терминала.