Um jeito curto é usar:
[[ ":$PATH:" =~ ":/new-directory:" ]] || PATH="/new-directory:$PATH"
Explicações:
- O primeiro comando, o comando condicional
[[
, é para teste. - O operador
=~
binário retorna 0 se a string da direita que é considerada uma expressão regular estendida corresponder à string da esquerda e 1 caso contrário. - Se o teste for não passado (
/new-directory
foi não encontrado no PATH), graças ao operador de controle OR||
lógico, o segundo comando é executado :PATH="/new-directory:$PATH"
.
Observações:
- Você sempre deve usar aspas quando atribuir uma string a uma variável, mesmo se a string for outra variável:
PATH="/new-directory:$PATH"
. - Em geral, é melhor adicionar um novo diretório à variável de ambiente PATH na frente de outros diretórios, e não depois de:
PATH="/new-directory:$PATH"
. Isso porque os diretórios no início do PATH têm precedência sobre os que vêm depois.