Toda vez que eu preciso fazer um pouco de script bash envolvendo instruções if, verificando variáveis vazias e arquivos inexistentes etc. Encontro-me acessando o google por algum manual ou guia simples do bash.
Freqüentemente, essas são muito longas e complicadas para responder rapidamente à pergunta que tenho em mãos.
Então, eu estava pensando que deve haver algum comando ou página de manual que cubra a sintaxe básica do bash (para coisas como instruções if, verifica se há variáveis vazias, arquivos inexistentes etc.) de maneira curta e acessível. Tenho certeza de que não encontrei o comando (o man bash não parece ser esse).
Onde posso encontrar isso?
bash
você pode tentarhelp
Respostas:
man bash
é a referência canônica do Bash.help help
fornece ajuda sobre ohelp
built-in do Bash e como fornece breves mensagens de ajuda sobre outros built-ins do Bash, comohelp for
..bash_history
. Existem muitos comandos, diferentes sintaxes de parâmetrossed
eawk
ruído de linha e outras coisas para lembrar de tudo, então é bom ter uma referência pessoal "bem cuidada" com tags para procurar.fonte
help
.help
estava lá. Tantaman bash
leitura desnecessária não é necessária!Como existem muitas dessas coisas online , aqui está uma sugestão para você; Eu uso isso para todos os tipos de coisas.
Crie um diretório
$HOME/notes
. Adicione uma subpastabash
,. Se você não tiver um$HOME/bin
, crie um, adicione-o ao seu caminho usando o método que você preferir ( por exemplo: in~/.bashrc
). Em seguida, coloque um script simples lácmdref.sh
:Vincule-o por conveniência
ln -s ~/bin/cmdref.sh ~/bin/cmdref
; Eu gosto de fazer isso para que você possa editar acmdref.sh
fonte e um editor ainda reconheça o tipo de arquivo pelo sufixo.Copie e cole o que quiser em vários arquivos
~/notes/bash
- por exemplo, você pode ter um arquivoarrays.txt
,loops.txt
etc. Desde que seja apenas para seu uso pessoal, você não está violando os direitos autorais.Agora você pode usar isso na linha de comando, por exemplo:
cmdref bash arrays
e essa folha de dicas será impressa no console. Observe que, embora os arquivos sejam.txt
(novamente, o uso de sufixos apropriados é útil para editores, navegadores de arquivos etc.), você não deve usá-cmdref bash arrays.txt
lo, pois ele está anexadocmdref.sh
(a única coisa que o script faz é converter caminhos e adicionar o sufixo).fonte
vi cmdref
e o vim abrirá o "cmdref.sh" e então eu posso editá-lo ou estou perdendo algo óbvio aqui?vi ~/bin/cmdref
, o vim realmente não sabe que tipo de arquivo é esse, e usará um padrão para destacar (eu acho que é.txt
). Mas se vocêvi ~/bin/cmref.sh
, o vim sabe que o arquivo é um script de shell e o realce fará sentido. Mas WRT um comando, você deseja digitarcmdref
, nãocmdref.sh
. É por isso que eu uso o link simbólico.vi
geralmente é um link simbólico paravim
, e é por isso que você obtém destaque de sintaxe (o "vi" original não tinha esse recurso, eu acho). E: o vim é realmente inteligente o suficiente para reconhecer esse script como um shell script se o arquivo não tiver sufixo, mas o princípio permanecer;) Em raras ocasiões, talvez eu precise / queira usar algo menos inteligente..sh
arquivo no vim eset filetype=txt
- eek!man bash
abrange todos os aspectos da sintaxe bash, por exemplo, paraif statements
,string is zero
enon-existent files
, basta procurar (bater a/
chave e digite o seguinte) paraCONDITIONAL EXPRESSIONS
.fonte