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-directoryfoi 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.