Eu tenho duas instâncias de que está sendo usado e eu estou querendo saber o que cada um faz:
service=~
mv ~/Desktop/Service$version.tgz $service
O que o pequeno rabugento ~
faz?
Então, depois disso, o que cd $service
faria?
Eu tenho duas instâncias de que está sendo usado e eu estou querendo saber o que cada um faz:
service=~
mv ~/Desktop/Service$version.tgz $service
O que o pequeno rabugento ~
faz?
Então, depois disso, o que cd $service
faria?
Respostas:
A coisa rabiscada é chamada de "til".
Ele se expande para o diretório inicial.
Experimentar
Ambas as instruções colocam seu diretório pessoal em uma linha.
Consulte bash Tilde Expansion para obter detalhes.
fonte
O "ondulado" é chamado de til. É usado para se referir ao seu diretório inicial, que no Linux é normalmente
/home/username
. Também é armazenado na$HOME
variável de ambiente. Expandir~
para o local do diretório inicial é o trabalho do shell (como zsh ou bash) ou do gerenciador de arquivos (como o Nautilus) e não do sistema de arquivos ou do sistema operacional.Você também pode usar isso para se referir ao diretório inicial de outro usuário. Por exemplo, se o nome de usuário do outro usuário for
bob
, você poderá consultar o diretório inicial com~bob
, o qual será expandido para/home/bob/
.O primeiro exemplo que você deu define a variável
service
como~
, portanto, corresponde ao seu diretório inicial. Isso é equivalente aservice=/home/username
ouservice=$HOME
.O segundo exemplo copia o arquivo
~/Desktop/Service$version.tgz
(ou/home/username/Desktop/Service$version.tgz
) para/home/username
. Este comando é equivalente a:ou
ou
O terceiro alterará o diretório de trabalho atual (
$PWD
) para/home/username/
. Isso é equivalente a:ou
fonte
Em ambos os nºs 1 e 2: ~ é o seu diretório pessoal, portanto, se você é qwerty, provavelmente será o diretório / home / qwerty. Então tente
ls ~
ver isso.Para o número 1: parece-me que o serviço variável está sendo definido como seu diretório inicial.
Isso significa que depois que o nº 2 moveu o arquivo tgz do subdiretório Desktop para o diretório inicial, o nº 3 muda para o diretório inicial.
fonte
Parece que os comandos estão fazendo o seguinte.
Atribua uma variável chamada serviço ao local da pasta pessoal, por exemplo:
Ele move o arquivo da área de trabalho para o nível superior do diretório inicial, por exemplo:
O script altera o diretório para o nível superior do diretório inicial.
Portanto, tudo o que o script está fazendo é apenas limpar sua área de trabalho movendo o arquivo para sua
/home/user
pasta.fonte
Vou adicionar aqui que ~ user também se expande para o diretório pessoal do [usuário], portanto não é apenas um atalho para o seu próprio diretório pessoal.
Por exemplo:
fonte