GNU/Linux >> Tutoriales Linux >  >> Linux

¿Diferencia entre 'y' en la línea de comando (bash)?

Esta pregunta ya tiene respuesta aquí :¿Cuál es la diferencia entre las comillas “…”, '…', $'…' y $“…” en el shell?

(1 respuesta)
Cerrado hace 2 años .

Solía ​​usar '' y "" (comillas simples y dobles) indistintamente en la línea de comando, pero recientemente noté que '$HOME/some/dir' no se expande, mientras que "$HOME/some/dir" es. Busqué un poco y encontré que "" permite algunos protección de caracteres especiales, mientras que '' permite una protección completa. Entonces, ¿qué otros caracteres están protegidos por ''? y no "" ?

EDITAR:¿Qué son prácticos situaciones en las que estas diferencias pueden ser significativas?

Respuesta aceptada:

Eche un vistazo a la página de manual de bash. Hay una sección completa sobre citas. Debido a que tiene licencia bajo GFDL, que no es compatible con la licencia CC-BY-SA que se usa aquí, no citaré todo, pero realmente leer esa es la respuesta más definitiva.

En resumen, las comillas simples detienen toda interpretación:la cadena se representa literalmente. Las comillas dobles dejan $ (signo de dólar), ` (comilla inversa) como especial y (barra invertida) como especial cuando va seguido de otros caracteres determinados. ¡Y ! se tratará de manera especial si la función de expansión del historial está habilitada (lo cual es predeterminado).

En el uso práctico, el $ es el gran problema, ya que a menudo uno puede querer las diversas expansiones que permite (variables y más), al tiempo que evita que el shell confunda la mayor parte de la línea de comandos.


Linux
  1. ¿Cuál es la diferencia entre localizar y encontrar el comando en Linux?

  2. ¿Cuál es la diferencia entre #!/usr/bin/env bash y #!/usr/bin/bash?

  3. ¿Diferencia entre '{}' y {} en el comando de búsqueda?

  4. ¿Cuál es la diferencia entre ls y l?

  5. ¿Cuál es la diferencia entre unlink y rm?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre el comando Cat y Touch?

¿Cuál es la diferencia entre el comando apt y apt-get?

¿Qué es un Hipervisor? ¿Cuál es la diferencia entre el tipo 1 y 2?

¿Cuál es la diferencia entre curl y Wget?

¿Cuál es la diferencia entre los comandos kill y killall?