Mam dwa przypadki użycia i zastanawiam się, co każdy robi:
service=~
mv ~/Desktop/Service$version.tgz $service
Co robi trochę krucho ~
robić?
Potem, po tym, co by się stało cd $service
robić?
Mam dwa przypadki użycia i zastanawiam się, co każdy robi:
service=~
mv ~/Desktop/Service$version.tgz $service
Co robi trochę krucho ~
robić?
Potem, po tym, co by się stało cd $service
robić?
Odpowiedzi:
Ta dziwna rzecz nazywana jest „tyldą”.
Rozszerza się do twojego katalogu domowego.
Próbować
echo ~
echo $HOME
Obie instrukcje umieszczają katalog domowy samodzielnie na linii ..
Widzieć bash Tilde Expansion dla szczegółów.
„Squiggly” nazywa się tyldą. Jest używany do odwoływania się do twojego katalogu domowego, który jest na Linuksie normalnie /home/username
. Jest również przechowywany w $HOME
Zmienna środowiskowa. Rozszerzanie ~
do lokalizacji katalogu domowego jest zadanie powłoki (jak zsh lub bash) lub menedżer plików (jak Nautilus), a nie system plików lub system operacyjny.
Możesz również użyć tego, aby odnieść się do katalogu domowego innego użytkownika. Na przykład, jeśli nazwa użytkownika innego użytkownika to bob
, możesz odwołać się do ich katalogu domowego za pomocą ~bob
, który zostanie rozszerzony na /home/bob/
.
Pierwszy podany przykład ustawia zmienną service
do ~
, więc odpowiada twojemu katalogowi domowemu. To jest równoważne service=/home/username
lub service=$HOME
.
Drugi przykład kopiuje plik ~/Desktop/Service$version.tgz
(lub /home/username/Desktop/Service$version.tgz
) do /home/username
. To polecenie jest równoważne:
mv ~/Desktop/Service$version.tgz ~
lub
mv ~/Desktop/Service$version.tgz $HOME
lub
mv ~/Desktop/Service$version.tgz /home/username/
Trzeci zmieni bieżący katalog roboczy ( $PWD
) do /home/username/
. Odpowiada to:
cd /home/username/
lub
cd $HOME
W obu # 1 i # 2: ~ to twój katalog domowy, więc jeśli jesteś qwerty, prawdopodobnie będzie to katalog / home / qwerty. Więc spróbuj ls ~
żeby to zobaczyć.
Dla # 1: wygląda na to, że usługa zmiennej jest definiowana jako katalog domowy.
Oznacza to, że po # 2 przeniósł plik tgz z podkatalogu Desktop do katalogu domowego, # 3 następnie zmienia się na katalog domowy.
Wygląda na to, że polecenia wykonują następujące czynności.
Przypisz zmienną o nazwie usługa do lokalizacji folderu domowego, na przykład:
/home/user
Przenosi plik z pulpitu na najwyższy poziom katalogu domowego, na przykład:
/home/user/Desktop/Service$version.tgz $service
Następnie skrypt zmienia katalog na najwyższy poziom katalogu domowego.
Tak więc wszystko, co robi skrypt, to po prostu wyczyszczenie pulpitu, przenosząc plik na swój /home/user
zamiast tego.