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 $servicefaria?
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 $servicefaria?
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 $HOMEvariá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 servicecomo ~, portanto, corresponde ao seu diretório inicial. Isso é equivalente a service=/home/usernameou 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/userpasta.