Romulloares

Criando comandos no seu bash

24/02/2020 - 20h00Alguém leu nos últimos 5 minutos0 comments
image
Pic: Uma das minhas aplicações deste recurso! rs

Oi, enfim voltei com meu blog, vou tentar fazer um post por semana dessa vez, para ficar mais organizado. E também para conseguir cumprir uma meta pessoal minha, que atribui a este projeto! O que fiz durante esse tempo? Bem, me formei, consegui realizar alguns objetivos, fiz alguns roles legais, conheci gente nova e coloquei algumas coisas em dia.

Nesse meio tempo também troquei meu computador de trabalho agora estou com um ASUS com uma configuração invejável (32 RAM, 2 TB SSD, Processador I7, e outras coisas mais). Formatei ele e fiz um dual boot com CentOS 8 e Windows 10, quando fui realizar meu primeiro acesso remoto, ás teclas não estavam respondendo ao o que estava correspondente nelas exemplo o ":" na verdade estava representando a letra Ç e muitas outras teclas aconteciam a mesma coisa. Obviamente, o layout do teclado estava em ABNT (pt-br) e agora eu tinha um teclado em formato americano. Deixei uma configuração adicionada na barra de tarefas e segui a vida.

A mesma coisa acontecia no CentOS, mas quando estou com este sistema operacional acho chato fazer as coisas na interface, por alguns motivos em especial, o principal deles e que me forcei a aprender a utilizar o CLI e ainda sim tem muitos comandos que não conheço ou não utilizo da maneira correta. Com uma pesquisa rápida no Google vi que tinha como setar o idioma inglês para sistema operacional identificar isso. Com a ferramenta set-keymap isso era possível. Tive que passar para o US international por conta dos acentos na nossa língua e na configuração de English US não identificava os acentos. Por fim achei interessante criar uma função para aquele comando, toda a hora ficar setkey... Perdia um tempo que não era interessante para mim. Mas como podemos adicionar funções ou comandos? Para isso temos que mapear esta tarefa, vamos utilizar o case do teclado.

Passo a passo para resolver o problema:
  • Criar um nome
  • Verificar o comando correspondente
  • Adicionar a mudanca arquivo ~/.bashrc
  • Carregar as configuracoes e atribuir elas

No meu caso defini como rsSetKeyboard (rs = Romulo Soares e Set Keyboard fica meio obvio né?)

Beleza, agora que já temos isso precisamos definir, achar o que precisamos fazer para que este comando responda do jeito que queremos isso é simples usamos o set-keymap para isso:

					    
sudo set-keymap us-intl
					    
				    

Okay agora é só adicionar no ~/.bashrc, correto? Mas o que diabos é este arquivo? E por que precisamos adicionar nele? O arquivo .bashrc é sempre executado quando abrimos uma nova sessão do terminal, ele é o responsável por carregar as configurações da nossa sessão do terminal. Geralmente este arquivo está no /home/user/, mas você pode localizar o mesmo usando o comando:

					    
sudo find -name .bashrc
					    
				    

Com o caminho em mãos podemos acessar com nosso editor de preferencia, eu gosto do VIM em outro post explico o porque:

					    
vim /home/user/.bashrc
					    
				    

Por fim, podemos criar um ALIAS com o nosso comando, ele nada mais é do que um apelido que estamos colocamos em uma determinada serie de comandos para facilitar nossa vida, então no final do arquivo, vamos colocar a seguinte linha:

					    
alias rsSetKeyboard = 'setxkbmap -model pc104 -layout us_intl'
					    
				    

Salvamos o arquivo e para carregar nossas mudanças, colocamos:

					    
source /home/user/.bashrc
					    
				    

Isso vai fazer com que nossa configuração seja recarregada com a mais nova alteração que fizemos. Temos vários exemplos na internet de diversos comandos interessante e apelidos criados com essa estratégia, meu bashrc pessoal é este: Por fim agora posso usar meu computador novo, sem problema algum. E você quais problemas resolveria com isso?

Até mais!