A maneira mais facil e (dentro de um editor de texto, ou no proprio shell) escrever as strings dentro de uma variavel, concatenando-as.Por exemplo:E=BandaEsquerdaD=BandaDireitaBunda=$E$Decho $BundaSaida:BandaEsquerdaBandaDireitaOutra maneira - util ao misturar palavras com strings para nomear arquivos, por exemplo - e utilizar chaves para distinguir a palavra da variavel a ser com ela concatenada:Ex:I=10rm backup${I}.datReferencia Suponha que deseja baixar o diretorio diretorio2 no sitehttp://site.com/diretorio1/diretorio2Se simplesmente utilizarmos a opcao de download recursivo (junto com -c que continua eventuais downloads interrompidos, claro)wget -cr http://site.com/diretorio1/diretorio2,obteremos a seguinte estrutura de diretorios dentro do diretorio em que o comando foi invocado:"http://site.com/diretorio1/diretorio2"Provavelmente, gostariamos de obter apenas o diretorio2, nao e mesmo?Para isto, precisamos utilizar as opcoes -nH e -cut-dir.A opcao -nH vai nos livrar de "http://site.com/", enquanto que cut-dir informa partir de que nivel de diretorio deve-se baixar a partir do site.Assim, o comando a ser dado ewget -cr -nH --cut-dir=2 http://site.com/diretorio1/diretorio2 ,e obteremos apenas o diretorio2 na nossa estrutura de diretorios.Pode ocorrer de dentro do diretorio2 haver uma arvore de diretorios com profundidade maior do que 5 ramos, e neste caso, ramos adicionais nao serao baixados.Para contornar este problema, incluimos a opcao -l [numero de ramos].Assim, o nosso comando fica: wget -cr -l 7 -nH -cut-dir=2 http://site.com/diretorio1/diretorio2No exemplo, foram utilizados 7 ramos.Fonte: Manual do wget (man wget) De tempos em tempos, sinto a necessidade de versionar alguns arquivos.Como nao consigo ser um programador full time, nem escrevo artigos academicos com tanta frequencia, frequentemente acabo esquecendo comandos relevantes na hora em que mais preciso.Entao, aqui estao alguns comandos, com comentarios sobre a razao deles.Este e um rascunho, mas publicarei assim mesmo, senao nao publico nada.Iniciar versionamento de Diretorio:$ cd < Diretorio >$ git initInformar arquivo a ser monitorado$ git add < arquivo >Checar status$ git statusEnviar mudancas (to commit) e comenta-las$ git commit -m "Comentarios a enviar"Criando uma tag para alguma versaoA ser publicadoLog de Mudancas$ git log$ git log --oneline -----> Mostra informacoes resumidas das versoes$ git log --all --graph --decorate --onelineComparacao entre as duas ultimas versoes$ git diffPara enviar as atualizacoes, e necessario digitar "git add < arquivo >" antes de "git commit ..."Voltando entre as versoes$ git checkout numero_identificador < arquivo > -- (arquivo e opcional) As vezes, alem de dividir a tela, para evitar trabalhar com varias divisoes pequenininhas de tela, pode ser interessante abrir mais abas, como nos navegadores www.Abrir uma nova aba:tabnewNavegar para a aba seguinte (se for a ultima, volta para a primeira):gtou aperteCtrl-PageDownNavegar para a aba anterior (se for a primeira, vai para a ultima):gTou aperteCtrl-PageUpReferencias: Blog Buteco Open Source O comando printf no bash funciona de maneira parecida com a funcao homonima no C. A sintaxe para os comandos de formatacao de variaveis sao os mesmos.Basicamente, o uso e:i=9printf "%02d" %i Saida:09 Sabe aquele recurso de IDEs como Eclipse, NetBeans, ou mesmo o Bash, que propoem maneiras de completar um comando, nome de variavel, complemento de comando etc?So agora descobri que ele esta disponivel no VIM (nunca precisei usar, mas acho que e util principalmente quando se esta programando em linguagens orientadas a objeto).Para utiliza-lo, basta, ainda no modo de