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
echo ~
echo $HOME
Ambas as instruções colocam seu diretório pessoal em uma linha.
Consulte bash Tilde Expansion para obter detalhes.
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 a service=/home/username
ou service=$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:
mv ~/Desktop/Service$version.tgz ~
ou
mv ~/Desktop/Service$version.tgz $HOME
ou
mv ~/Desktop/Service$version.tgz /home/username/
O terceiro alterará o diretório de trabalho atual ( $PWD
) para /home/username/
. Isso é equivalente a:
cd /home/username/
ou
cd $HOME
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.
Parece que os comandos estão fazendo o seguinte.
Atribua uma variável chamada serviço ao local da pasta pessoal, por exemplo:
/home/user
Ele move o arquivo da área de trabalho para o nível superior do diretório inicial, por exemplo:
/home/user/Desktop/Service$version.tgz $service
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.