Estoy siguiendo un tutorial y menciona ejecutar este comando:
sudo chmod 700 !$
No estoy familiarizado con !$. Qué significa eso?
bash
command-history
Andrés
fuente
fuente

echoalgo si no está seguro de lo que hará.echo $(rm -rf /)--no-preserve-rootopción allí, y si ve las palabras "no preservar" en un programa, es mejor que piense detenidamente sobre lo que hace.Respuestas:
Básicamente, es el último argumento del comando anterior.
( fuente ; guía práctica, por cierto)
No vale nada la distinción entre este
!$token y la variable de shell especial$_. De hecho, ambos se expanden al último argumento del comando anterior. Sin embargo,!$se expande durante la expansión del historial , mientras que$_se expande durante la expansión de parámetros . Una consecuencia importante de esto es que, cuando usa!$, el comando expandido se guarda en su historial.Por ejemplo, considere las pulsaciones de teclas
echo FooEnterecho !$ JarEnter Up Enter; yecho FooEnterecho $_ JarEnter Up Enter.(Los únicos caracteres cambiados son
$!y$_en el medio).En el primero, cuando presiona Up, se lee la línea de comando
echo Foo Jar, por lo que la última línea escrita en stdout esFoo Jar.En el último, cuando presiona Up, la línea de comando se lee
echo $_ bar, pero ahora$_tiene un valor diferente al que tenía anteriormente; de hecho,$_es ahoraJar, por lo que la última línea escrita en stdout esJar Jar.Otra consecuencia es que
_puede usarse en otras expansiones de parámetros, por ejemplo, la secuencia de comandosimpresiones
isomorphism isosceles. Pero no hay una "${!$%morphism}" expansión análoga .Para obtener más información sobre las fases de expansión en Bash, consulte la
EXPANSIONsección deman 1 bash(esto se llama Expansiones de Shell en la edición en línea). LaHISTORY EXPANSIONsección está separada.fuente
!$insert-last-argument, generalmente vinculado aM-..Estrictamente hablando
!$es la última palabra del último comando de la lista del historial.Ejemplos:
fuente
!$le dará el último comando utilizado para ese usuario en particular ...también puede encontrar el historial de comandos utilizados anteriormente mediante el
historycomando ... pruébelo ...NOTA: Para un usuario en particular, todos los comandos utilizados anteriormente se almacenarán en el archivo de historial bash.
fuente