Como alterar o valor de ~

2

por padrão ~ recebe o valor de /home/username/

i.e. Se eu usar o comando cd ~ , vai para o diretório /home/username/

Como alterar o valor dele para algum outro arquivo, como / home / username / filename?

Eu sei que isso pode ser perigoso, mas estou trabalhando em um CTF, então está tudo bem.

    
por Dhanvi 26.08.2014 / 13:03

2 respostas

5
  

O til (~) é interpretado pelo seu shell, como uma forma abreviada de $HOME .

     

Experimente os seguintes comandos:

echo ~
HOME=foo
echo ~
     

Isso deve primeiro imprimir seu diretório pessoal real e depois "foo", como você define $ HOME 'para isso.

     

O valor padrão de $HOME vem da sua configuração do sistema. Use getent passwd para listar todos os usuários conhecidos e seus diretórios iniciais. Dependendo da configuração do sistema, essas entradas podem vir de /etc/passwd ou de qualquer serviço de diretório remoto.

     

Se você quiser apenas redefinir temporariamente seu diretório pessoal, basta definir outro $HOME .

     

Se você quiser alterá-lo permanentemente, deverá alterar a entrada passwd, por exemplo, editando manualmente /etc/passwd .

Extraído desta pergunta sobre o assunto.

    
por Tim 26.08.2014 / 13:11
3

Tente alterar a variável $HOME , porque o til ( ~ ) é uma forma abreviada de $HOME ou altere o diretório pessoal do usuário em /etc/passwd , mas isso não é recomendado.

Por que você não tenta criar um alias para cd /home/username/filename da seguinte forma:

alias documents='cd ~/Documents'

Agora, quando você digitar documents , ele será alterado para /home/user/Documents

Mais informações em man alias .

Para tornar esse alias permanente, verifique esta questão .

    
por nux 26.08.2014 / 13:13