J'ai deux exemples de son utilisation et je me demande ce que chacun fait:
service=~
mv ~/Desktop/Service$version.tgz $service
Que fait le petit squiggly ~
?
Ensuite, après cela, que ferait cd $service
-il?
J'ai deux exemples de son utilisation et je me demande ce que chacun fait:
service=~
mv ~/Desktop/Service$version.tgz $service
Que fait le petit squiggly ~
?
Ensuite, après cela, que ferait cd $service
-il?
Réponses:
La chose ondulée est appelée un "tilde".
Il se développe dans votre répertoire personnel.
Essayer
echo ~
echo $HOME
Les deux instructions mettent votre répertoire personnel seul sur une ligne.
Voir Bash Tilde Expansion pour plus de détails.
Le "squiggly" est appelé un tilde. Il est utilisé pour faire référence à votre répertoire personnel qui, sous Linux, l'est normalement /home/username
. Il est également stocké dans la $HOME
variable d'environnement. L'extension ~
de l'emplacement du répertoire personnel est le travail du shell (comme zsh ou bash) ou du gestionnaire de fichiers (comme Nautilus) et non le système de fichiers ou le système d'exploitation lui-même.
Vous pouvez également l'utiliser pour faire référence au répertoire personnel d'un autre utilisateur. Par exemple, si le nom d'utilisateur de l'autre utilisateur est bob
, vous pouvez vous référer à son répertoire personnel avec ~bob
, qui sera étendu à /home/bob/
.
Le premier exemple que vous avez donné définit la variable service
pour ~
qu'elle corresponde à votre répertoire personnel. Cela équivaut à service=/home/username
ou service=$HOME
.
Le deuxième exemple copie le fichier ~/Desktop/Service$version.tgz
(ou /home/username/Desktop/Service$version.tgz
) dans /home/username
. Cette commande équivaut à:
mv ~/Desktop/Service$version.tgz ~
ou
mv ~/Desktop/Service$version.tgz $HOME
ou
mv ~/Desktop/Service$version.tgz /home/username/
Le troisième changera le répertoire de travail actuel ( $PWD
) en /home/username/
. Cela équivaut à:
cd /home/username/
ou
cd $HOME
Dans les deux # 1 et # 2: ~ est votre répertoire personnel, donc si vous êtes qwerty, ce sera probablement le répertoire / home / qwerty. Essayez donc ls ~
de voir cela.
Pour # 1: il me semble que le service variable est défini comme votre répertoire personnel.
Cela signifie qu'après que # 2 a déplacé le fichier tgz du sous-répertoire Desktop vers votre répertoire personnel, # 3 passe ensuite au répertoire personnel.
Il semble que les commandes effectuent les opérations suivantes.
Attribuez une variable appelée service à l'emplacement de votre dossier de base, par exemple:
/home/user
Il déplace le fichier de votre bureau vers le niveau supérieur de votre répertoire personnel, par exemple:
/home/user/Desktop/Service$version.tgz $service
Le script modifie ensuite le répertoire au niveau supérieur du répertoire de base.
Donc, tout ce que le script fait, c'est simplement nettoyer votre bureau en déplaçant le fichier dans votre /home/user
dossier à la place.
J'ajouterai ici que ~ user se développe également dans le répertoire personnel de [utilisateur], donc ce n'est pas seulement un raccourci pour votre propre répertoire personnel.
Par exemple:
[guy@abox anotherdir]$ cd ~
[guy@abox ~]$ pwd
/home/guy
[guy@abox ~]$ cd ~john
[guy@abox john]$ pwd
/home/john