32-bit – CLR – CMake – Cross – DKMS – Eclipse – Electron – Fonte – Free Pascal – GNOME – Go – Haskell – Java – KDE – Kernel – Lisp – Meson – MinGW – Node.js – Nonfree – OCaml – Perl – PHP – Python – R – Ruby – Rust – Shell – VCS – Web – Wine
Artigos relacionados
Instalação
Para usuários alterarem os shells, o shell deve aparecer em /etc/shells. A maioria dos pacotes de shell têm que instalar scripts como o abaixo:
nome_do_shell.install
post_install() {
grep -Fqx /bin/nome_do_shell /etc/shells || echo /bin/nome_do_shell >>/etc/shells
grep -Fqx /usr/bin/nome_do_shell /etc/shells || echo /usr/bin/nome_do_shell >>/etc/shells
}
post_upgrade() {
post_install
}
post_remove() {
sed -i -r '/^(\/usr)?\/bin\/nome_do_shell$/d' etc/shells
}
Completações de shell
A maioria dos shells fornece um conjunto integrado de completações para alguns comandos comuns, enquanto também verifica pelo menos um diretório do sistema em busca de funções que podem ser fornecidas por outros pacotes. A tabela a seguir é um resumo de onde os pacotes podem colocar os arquivos de completação e quais arquivos devem ser nomeados.
| Shell | Diretório | Arquivo |
|---|---|---|
| Bash | /usr/share/bash-completion/completions |
nome_do_binário
|
| fish | /usr/share/fish/vendor_completions.d |
nome_do_binário.fish
|
| Zsh | /usr/share/zsh/site-functions |
_nome_do_binário
|
Outros shells:
- Elvish fornece algumas completações padrão, mas não tem um diretório de todo o sistema onde as completações podem ser fornecidos ainda[1]. Para pacotes que geram funções de completações de shell para Elvish, uma solução seria empacotá-los
/usr/share/elvish/completions/nome_do_binário.elve usar umpost_install()para imprimir uma dica para os usuários fazerem um link simbólico para o diretório$XDG_CONFIG_HOME/elvish/lib/.
optdepends.