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ć
Obie instrukcje umieszczają katalog domowy samodzielnie na linii ..
Widzieć bash Tilde Expansion dla szczegółów.
źródło
„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żneservice=/home/username
lubservice=$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:lub
lub
Trzeci zmieni bieżący katalog roboczy (
$PWD
) do/home/username/
. Odpowiada to:lub
źródło
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.
źródło
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:
Przenosi plik z pulpitu na najwyższy poziom katalogu domowego, na przykład:
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.źródło
Dodam, że ~ użytkownik rozwija się także do katalogu domowego [użytkownika], więc nie jest to tylko skrót do twojego posiadać katalog domowy.
Na przykład.:
źródło