Tengo un directorio llamado:
-2
Quiero cd en él pero el cd se queja:
bash: cd: -2: invalid option
Sin éxito, he intentado:
cd "-2"
cd '-2'
cd \-2
¿Alguna solución?
Editar: no hay navegadores de archivos como mc, etc. disponibles en el servidor.
linux
command-line-interface
usuario151851
fuente
fuente

Respuestas:
Al menos dos formas:
Usa el
--argumento.Esto usa una convención común a las herramientas GNU que es no tratar nada que aparezca después
--como una opción de línea de comando.Como señaló un comentarista , esta convención también se define en el estándar POSIX :
así como también :
Especifique la ruta explícitamente:
Esto especifica la ruta nombrando explícitamente el directorio actual (
.) como el punto de partida.Estas son variaciones de lo anterior. Cualquier número de tales variaciones puede ser posible; Lo dejaré como ejercicio para que el lector los descubra a todos.
fuente
cdpágina "Lacdutilidad se ajustará a ... la sección 12.2"."hello world"es un argumento perohello worldes dos, y"-2"es lo mismo que-2.cd -- --ocd ./--debería funcionar.Esto debería funcionar:
- significa que no hay más opciones
fuente
Esto funcionará si '-2' está en el directorio actual.
Puede autocompletar escribiendo y presionando tab.
fuente
cd /home/...../-2 también funciona. Dar la ruta completa de acceso.
fuente
Solo para complementar, si desea eliminar / eliminar este directorio, puede usar el siguiente comando:
fuente
Sé que esta pregunta ya ha sido respondida. Si alguien tiene una situación como la mía, esto es para ellos:
Ejecuté una aplicación Java y estaba buscando un directorio que comenzara
<path>, se suponía que debía reemplazarlo con la ruta adecuada antes de ejecutar la aplicación. Sin embargo, olvidé hacer eso. La aplicación creó un directorio llamado<path>.Traté de
cd <path>- me dio el error "-bash: error de sintaxis cerca de la nueva línea de token inesperada" Según la sugerencia aquí (entiendo que es para el directorio que comienza con - y no <) lo intentécd -- <path>. Sin embargo, obtuve el mismo error.Cuando lo intenté
cd \<path>\, ¡esto funcionó!Información de antecedentes:
Los símbolos "<" y ">" se utilizan para redirigir STDIN y STDOUT, por lo tanto, deben escaparse para que el shell no los interprete como redireccionamientos.
fuente