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
Ambas declaraciones ponen su directorio de inicio por sí solo en una línea
Ver bash Tilde Expansion para más detalles.
fuente
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 aservice=/home/username
oservice=$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:o
o
El tercero cambiará el directorio de trabajo actual (
$PWD
) a/home/username/
. Esto es equivalente a:o
fuente
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.
fuente
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:
Mueve el archivo desde su escritorio al nivel superior de su directorio de inicio, por ejemplo:
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.fuente
Agregaré aquí que ~ user también se expande al directorio de inicio de [user], por lo que no es solo un acceso directo para su propio directorio de inicio.
P.ej:
fuente