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 $HOMEvariable 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 serviceen ~, por lo que corresponde a su directorio de inicio. Esto es equivalente a service=/home/usernameo 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/usercarpeta.