Shell package guidelines (Português)

Status de tradução: Esse artigo é uma tradução de Shell package guidelines. Data da última tradução: 2022-08-03. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.
Diretrizes de pacotes do Arch

32-bitCLRCMakeCrossDKMSEclipseElectronFonteFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustShellVCSWebWine

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.

ShellDiretórioArquivo
Bash/usr/share/bash-completion/completionsnome_do_binário
fish/usr/share/fish/vendor_completions.dnome_do_binário.fish
Zsh

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. Para pacotes que geram funções de completações de shell para Elvish, uma solução seria empacotá-los e usar um post_install() para imprimir uma dica para os usuários fazerem um link simbólico para o diretório $XDG_CONFIG_HOME/elvish/lib/.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.