Tengo dos casos de uso y me pregunto qué hace cada uno:
service=~
mv ~/Desktop/Service$version.tgz $service
¿Qué hace el pequeño garabato ~
?
Entonces, después de eso, ¿qué haría cd $service
?
Tengo dos casos de uso y me pregunto qué hace cada uno:
service=~
mv ~/Desktop/Service$version.tgz $service
¿Qué hace el pequeño garabato ~
?
Entonces, después de eso, ¿qué haría cd $service
?
Respuestas:
La cosa ondulada se llama "tilde".
Se expande a su directorio de inicio.
Tratar
echo ~
echo $HOME
Ambas declaraciones ponen su directorio de inicio por sí solo en una línea
Ver bash Tilde Expansion para más detalles.
El "squiggly" se llama tilde. Se utiliza para referirse a su directorio de inicio que en Linux es normalmente /home/username
. También se almacena en la $HOME
variable de entorno. Expandir ~
a la ubicación del directorio de inicio es el trabajo del shell (como zsh o bash) o el administrador de archivos (como Nautilus) y no el sistema de archivos o el sistema operativo en sí.
También puede usar esto para referirse al directorio de inicio de otro usuario. Por ejemplo, si el nombre de usuario del otro usuario es bob
, puede consultar su directorio de inicio con ~bob
, que se ampliará a /home/bob/
.
El primer ejemplo que ha dado establece la variable service
en ~
, por lo que corresponde a su directorio de inicio. Esto es equivalente a service=/home/username
o service=$HOME
.
El segundo ejemplo copia el archivo ~/Desktop/Service$version.tgz
(o /home/username/Desktop/Service$version.tgz
) en /home/username
. Este comando es equivalente a:
mv ~/Desktop/Service$version.tgz ~
o
mv ~/Desktop/Service$version.tgz $HOME
o
mv ~/Desktop/Service$version.tgz /home/username/
El tercero cambiará el directorio de trabajo actual ( $PWD
) a /home/username/
. Esto es equivalente a:
cd /home/username/
o
cd $HOME
En ambos # 1 y # 2: ~ es su directorio de inicio, por lo que si es qwerty probablemente será el directorio / home / qwerty. Así que trata ls ~
de ver eso.
Para el n. ° 1: me parece que el servicio variable se está definiendo como su directorio de inicio.
Eso significa que después de que el n. ° 2 haya movido el archivo tgz del subdirectorio Desktop al directorio de inicio, el n. ° 3 cambia al directorio de inicio.
Parece que los comandos están haciendo lo siguiente.
Asigne una variable llamada servicio a la ubicación de su carpeta de inicio, por ejemplo:
/home/user
Mueve el archivo desde su escritorio al nivel superior de su directorio de inicio, por ejemplo:
/home/user/Desktop/Service$version.tgz $service
El script luego cambia el directorio al nivel superior del directorio de inicio.
Entonces, todo lo que está haciendo el script es simplemente limpiar su escritorio moviendo el archivo a su /home/user
carpeta.