Як перейти з Bash на C Shell в Linux

Альтернативний погляд на командну оболонку C Shell в Linux

C Shell являє собою командну оболонку для Unix-подібних операційних систем, що відрізняється від Bash своїм синтаксисом, який нагадує C++. Хоча це вже не нова розробка, C Shell залишається популярним вибором серед програмістів, особливо у середовищі Unix. У Linux її функціональність розширена завдяки Tcsh – модифікованій версії оригінальної оболонки, яка містить ряд додаткових можливостей та вдосконалень.

Якщо вас зацікавила C Shell, і ви бажаєте спробувати її замість Bash, дотримуйтесь інструкцій, наведених нижче, щоб здійснити перехід.

Зауваження: Якщо C Shell не викликає вашого захвату, ви можете розглянути Fish Shell або ZSH як альтернативи Bash.

Встановлення C Shell

Хоча C Shell може здатися привабливою заміною Bash, вона, скоріше за все, не буде встановлена на вашій Linux-системі за замовчуванням. На щастя, процес її встановлення досить простий для більшості дистрибутивів Linux.

Для встановлення, відкрийте вікно термінала та скористайтесь відповідними інструкціями для вашої конкретної операційної системи Linux:

Ubuntu

C Shell доступна у стандартних репозиторіях Ubuntu, тому її встановлення можна здійснити за допомогою менеджера пакетів Apt:

sudo apt install tcsh

Debian

Хоча Debian зазвичай не славиться швидко оновлюваними пакетами, він все ж надає досить свіжу версію C Shell у своєму головному репозиторії. Встановити її можна за допомогою інструменту Apt-get:

sudo apt-get install tcsh

Arch Linux

Користувачі Arch Linux відомі своєю любов’ю до експериментів з альтернативами Bash. Тому, навіть такі нестандартні варіанти, як C Shell, доступні для встановлення у стандартному репозиторії. Використайте інструмент Pacman для її отримання:

sudo pacman -S tcsh

Fedora

Якщо вам потрібна C Shell на вашому комп’ютері Fedora Linux, вам доведеться встановити її за допомогою менеджера пакетів Dnf, оскільки вона не є встановленою за замовчуванням:

sudo dnf install tcsh

OpenSUSE

Подібно до інших популярних дистрибутивів Linux, OpenSUSE пропонує C Shell як альтернативу Bash у своєму основному сховищі програмного забезпечення. Виконайте наступну команду Zypper для її встановлення:

sudo zypper install tcsh

Універсальний метод для Linux

Якщо ви користуєтесь менш поширеним дистрибутивом Linux, і бажаєте використовувати C Shell, просто відкрийте термінал та скористайтеся менеджером пакетів вашої системи для пошуку “tcsh” або “c shell”. Скоріш за все, цей пакет знайдеться навіть у найменш відомій ОС Linux, враховуючи давню історію Tcsh.

Визначення розташування оболонки

Перед тим, як перейти з Bash на C Shell, потрібно дізнатися розташування бінарного файлу Tcsh. Ця інформація важлива, оскільки Linux потребує її для заміни оболонки командного рядка, що використовується за замовчуванням.

Щоб отримати список доступних оболонок у вашій системі, вам необхідно переглянути файл /etc/shells/. Хоча це можна зробити кількома способами, найефективнішим є використання команди cat:

cat /etc/shells/

Виконання цієї команди відобразить список шляхів до різних оболонок, встановлених у вашій системі. Їх може бути кілька, що може збити з пантелику.

Зауваження: Якщо вам не зручно переглядати весь файл у пошуках “Tcsh”, використайте команду grep для фільтрації результату:

cat /etc/shells | grep tcsh

Виберіть шлях до C Shell з вихідних даних /etc/shells/ та скопіюйте його. Ви також можете записати його в текстовий файл для подальшого використання:

cat /etc/shells | grep tcsh >> tcsh-location.txt

Перехід з Bash на C Shell

Для встановлення C Shell оболонкою за замовчуванням використовується команда chsh. Важливо зазначити, що її потрібно виконувати без прав root або sudo. Запуск команди chsh з правами root може випадково змінити оболонку користувача root замість вашої.

Введіть команду chsh у терміналі, щоб змінити Bash (або іншу оболонку) на Tcsh.

chsh

Після введення команди chsh термінал відобразить повідомлення з проханням “ввести нове значення або натиснути ENTER для значення за замовчуванням”. В цьому випадку потрібно вказати шлях до C Shell, щоб зробити її оболонкою за замовчуванням для вашого користувача. Скопіюйте шлях з вихідних даних /etc/shells та вставте його у вікно підказки.

Після визначення розташування C Shell, натисніть Enter та введіть ваш пароль. Повторіть цей процес для кожного користувача, який повинен використовувати C Shell у вашій Linux-системі.

Повернення до Bash

Спробували C Shell, але вона не сподобалась? Не проблема, поверніться назад, виконавши наступні кроки:

Крок 1: Відкрийте термінал та введіть команду зміни оболонки:

chsh

Крок 2: Введіть /bin/bash/ коли з’явиться запит “ввести нове значення”.

Крок 3: Введіть свій пароль. Після цього закрийте термінал та перезавантажте його. Після перезавантаження Bash знову стане оболонкою за замовчуванням.