@chaos No edite la pregunta para que coincida mejor con su respuesta ;-).
Pilot6
@ Pilot6 No he cambiado el significado. ¿O entiendo algo mal? Lo hice mejor para encontrar (título) y más legible. Por cierto, : también tiene otros significados, es un comando bash incorporado, por ejemplo. Quería diferir de eso, porque la pregunta obviamente no es sobre eso. Lo que el usuario quiere decir es el :operador dentro de un nombre de variable. Lo siento, no quiero molestar a alguien, pero tu retroceso no tiene sentido y debería revertirse, pero no quiero una guerra de edición aquí. Además, es específico de bash y scripts, ¿por qué eliminar esas etiquetas?
caos
Ha retirado TEMPy VARvariables, y cambió la cuestión de la forma en que otras respuestas perdido el sentido.
Pilot6
@ Pilot6 En mi respuesta no me refiero a una VARvariable. Pero, sin embargo, eres libre de cambiar esa cosa. Quería hacer la pregunta más general, menos específica. Nunca tuvo la intención de sabotear otras respuestas.
caos
2
@SnakeDoc no, está bien sobre el tema
muru
Respuestas:
15
Esta es una expansión variable y funciona así (observe que esto es único bashy kshespecífico y no funcionará en un shell POSIX):
:
también tiene otros significados, es un comando bash incorporado, por ejemplo. Quería diferir de eso, porque la pregunta obviamente no es sobre eso. Lo que el usuario quiere decir es el:
operador dentro de un nombre de variable. Lo siento, no quiero molestar a alguien, pero tu retroceso no tiene sentido y debería revertirse, pero no quiero una guerra de edición aquí. Además, es específico de bash y scripts, ¿por qué eliminar esas etiquetas?TEMP
yVAR
variables, y cambió la cuestión de la forma en que otras respuestas perdido el sentido.VAR
variable. Pero, sin embargo, eres libre de cambiar esa cosa. Quería hacer la pregunta más general, menos específica. Nunca tuvo la intención de sabotear otras respuestas.Respuestas:
Esta es una expansión variable y funciona así (observe que esto es único
bash
yksh
específico y no funcionará en un shell POSIX):${var:pos}
significa que la variablevar
se expande, comenzando desde el desplazamientopos
.${var:pos:len}
significa que la variablevar
se expande, comenzando desde el desplazamientopos
con la longitudlen
.fuente
zsh
tambiénzsh
=) Hice un script de dietazsh
y perdí 10 kg en 1 semana.zsh
seguro que te hace más tonto al escribir caminos cuando no lo estás usando :)en bash corta los primeros 3 caracteres de una variable (cadena):
Eche un vistazo a 'extracción de subcadenas' aquí: http://www.tldp.org/LDP/abs/html/string-manipulation.html .
fuente
Este operador corta los primeros 3 caracteres de la variable
TEMP
y asigna el resto a la variableVAR
.fuente