Enquanto você não precisa substituir manualmente seu nome de usuário por $USER
, você pode, se quiser. Você só precisa colocar no lugar de toda a "palavra" $USER
, não apenas USER
. Ou seja, deixe de fora o $
no que você escreve:
sudo chown tejas /usr/local/src
Isso ocorre porque $
antes de um "nome" significa que é o nome de uma variável e que a variável deve ser desreferenciada - ou seja, substituída pelo valor armazenado nela. USER
é uma variável de ambiente que contém seu nome de usuário.
Em contraste, tejas
é (provavelmente) não definido (no sentido de ser uma variável que recebeu algum valor). Em um shell, uma variável que não é definida é tratada, na maioria das vezes, como se estivesse vazia - isto é, mantendo a cadeia vazia de texto (isto é, comprimento zero). Portanto, $tejas
é substituído por nada e o comando que realmente é executado é sudo chown /usr/local/src
, o que não funciona.