Variáveis padrão no shell

O shell possui diversas variáveis padrões que podem ser usadas pra facilitar o desenvolvimento.

$SHELL –Retorna  oshell Atual

$HISTSIZE – Retorna o numero de comandos que podem ser alocados no arquivo “history”

$HISTFILE – Obter o local do arquivo History

$USER –Retorna o username

$EUID – Retorna o UserID.

$GROUPS – Retorna informações sobre o GID.

$PWD – Retorna o diretório atual

$HOSTNAME – Retorna o hostname completo da maquina.

$HOME – Retorna o diretório home do usuário atual

$HOSTTYPE ou $MACHTYPE – Para obter a arquitetura da maquina (ex: 32bit ou 64 bit).

$OSTYPE – Detecta o Sistema Operacional (Ex: GNU/Linux, sun, etc.).

$TERM – Retorna o nome de sue terminal (ex: xterm-256color).

$TMOUT – Setar essa variável com um valor numérico para definir auto-desconexão por inatividade no shell

$PATH – Obtém o path do sistema

$PIPESTATUS – Retorna o status de uma saida de pipe

$BASH_VERSION – Obtém a versão do Bash

$PPID – Obtém o ID do processo pai

$PS1, $PS2, $PS3, $PS4 – Variaveis passadas por parâmetrop em um script shell

Dentro de um script:
$RANDOM – Obtém um número aleatório

$LINENO – Obtem o numero da linha que o script esta executando. Útil para debug

$REPLY – REPLY mantém o último valor lido.

$SECONDS – Para obter a quantos segundos o script está rodando

Parâmetros posicionais: $1, $2, $3, $4, $5, $6, $7, $8, $9

$0 –Obtém o nome do script

$* –Todos os parâmetros posicionais

$@ Todos os parâmetros posicionais, separados por espaço

$# –Número de parâmetros

$$ –PID atual

$! –ID de uma tarefa em background

$? –Status de saída ou de erro

$_ – Obtém o argumento do comando anterior

Renomear chave de deploy no gitlab

Enquanto não sai o merge request, a atualização do nome da deploy key tem que ser direto no banco.

Numa instalação padrão, conectamos no banco pgsql via linha de comando:

su gitlab-psql
/opt/gitlab/embedded/bin/psql --port 5432 -h /var/opt/gitlab/postgresql -d gitlabhq_production

 Depois localizamos o ID da chave (nesse caso eu exibi todas) e fazemos um update pelo id

SELECT id, title FROM keys WHERE type='DeployKey';
UPDATE keys SET title='root@shared-servers' WHERE id=181;

 Simples, não? =)