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

[email protected] 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

Função para verificar load average do servidor

Funciona na maioria dos servers compartilhados:

function get_server_load($windows = 0) {
        $os = strtolower(PHP_OS);
        if(strpos($os, "win") === false) {
  if(file_exists("/proc/loadavg")) {
         $load = file_get_contents("/proc/loadavg");
         $load = explode(' ', $load);
         return $load[0];
  }
  elseif(function_exists("shell_exec")) {
         $load = explode(' ', `uptime`);
         return $load[count($load)-1];
  }
  else {
         return "";
  }
        }
        elseif($windows) {
  if(class_exists("COM")) {
         $wmi = new COM("WinMgmts:\\.");
         $cpus = $wmi->InstancesOf("Win32_Processor");
         
         $cpuload = 0;
         $i = 0;
         while ($cpu = $cpus->Next()) {
    $cpuload += $cpu->LoadPercentage;
    $i++;
         }
         
         $cpuload = round($cpuload / $i, 2);
         return "$cpuload%";
  }
  else {
         return "";
  }
        }
}

Use com moderação 😉