Jump to content
From ArchWiki

Oil Shell (OSH) is a Bash-compatible UNIX command-line shell. OSH can be run on most UNIX-like operating systems, including GNU/Linux. It is written in Python (v2.7), but ships with a native executable. The dialect of Bash recognized by OSH is called the OSH language.

## Installation

Install the oil package.

### Smoke Test

Make sure that OSH has been installed correctly by running the following in a terminal:

    $ osh

This will start an OSH session and display a shell prompt:

    osh$

Identify an installed binary and attempt to invoke it in the OSH session to confirm that the output is correct.

For example:

    osh$ ls
    ...

### Making OSH your default shell

See Command-line shell#Changing your default shell.

## Removal

Change the default shell before removing the oil package.

Warning: Failure to follow the below procedure may result in users no longer having access to a working shell.

Run following command:

    $ chsh -s /bin/bash user

Use it for every user with osh set as their login shell (including root if needed). When completed, the oil package can be removed.

Alternatively, change the default shell back to Bash by editing `/etc/passwd` as root.

Warning: It is strongly recommended to use `vipw` when editing `/etc/passwd` as it helps prevent invalid entries and/or syntax errors.

For example, change the following:

    username:x:1000:1000:Full Name,,,:/home/username:/bin/osh

To this:

    username:x:1000:1000:Full Name,,,:/home/username:/bin/bash

## Troubleshooting

Reproducible bugs/errors may be reported on Github. When filing a report, please include the output of OSH when it is running in verbose mode. To enable verbose mode, execute the following:

    $> export OVM_VERBOSE=1

## See also

- Oil Github
- Oil Project Home
- Oil Twitter Feed
- Oil Subreddit

Category:

- Command-line shells