El caso es que a veces escribo cd
por error y eso me lleva al directorio de inicio.
por ejemplo, estoy en un directorio que tiene un directorio oculto y un directorio visible, presiono rápidamente cd
+ taby eso me lleva al directorio de inicio
command-line
cd-command
vinicius de novaes
fuente
fuente
cd
encuentra en algún lugar por accidente, úselocd -
para regresar a su ubicación anterior: bash mantiene la$OLDPWD
variable para este propósito. Consulte gnu.org/software/bash/manual/bash.html#index-cdcd
hacer nada, puede escribir una función llamadacd
que no hace nada cuando no se dan argumentos, de lo contrario llame abuiltin cd "$@"
cd
hacer lo que sea que haga. Si mantiene el hábito de ejecutar comandos que no ha verificado dos veces, más adelante tendrá problemas mucho mayores. Por ejemplo, desea mover dos archivos a un tercer directorio:mv a b dir/
y la finalización de TAB no se producedir
como espera, terminará ejecutando lomv a b
que se sobrescribeb
. Aprenda a tener cuidado, aprenda a mirar el comando antes de presionar Enter.rm
para evitar el borrado de directorios de nivel superior, tales como/
,/etc
,/usr
,/home
,/var
, etc, sin una anulación de la contraseña. A veces necesitamos protección de nosotros mismos :)Respuestas:
Use
gedit ~/.bashrc
e inserte estas líneas en la parte inferior:Abra una nueva terminal y ahora cuando escribe
cd
sin parámetros simplemente permanece en el mismo directorio.TL; DR
Si quieres ser muy elaborado, puedes poner una pantalla de ayuda cuando no se pasan parámetros:
El código expandido para lograr esto es:
fuente
ncd
(para "Nuevo CD") y dejar realcd
solo?cd
(en blanco) funciona de manera diferente para las personas además del usuario doméstico~/.bashrc
. ¿Podría dar un ejemplo o dos de lo que debe tener cuidado? Por ejemplo, un desarrollador utilizacd
(en blanco) en su script de instalación. (Hipotético pero no puedo pensar en un caso). Puedo resumir sus ejemplos en la respuesta y sugerir que el OP usencd
todo el tiempo en lugar decd
.Si es la finalización de la pestaña lo que está causando esto, una opción es realizar el ciclo de finalización a través de las entradas de inmediato. Esto se puede hacer usando la
menu-comple
opción de readline en lugar de la predeterminadacomplete
:Luego, en mi directorio de inicio, por ejemplo:
Por supuesto, incluso entonces tendrías que leer lo que estás ejecutando.
fuente
Así es como pongo el directorio y el usuario actuales en mi título de Windows: puede adaptarlo a su necesidad, pero
cd -
, equivalente a,cd $OLDPWD
es una mejor solución.De mi
~/.bashrc
:fuente
El problema aquí no es
cd
, y no está solucionado por la tecnología.¡El problema es usted, y se soluciona con paciencia!
Si con frecuencia te encuentras escribiendo y enviando comandos que no querías, practica la ralentización . Tome un respiro, lea lo que está escribiendo y vuelva a verificarlo antes de presionar enter. Piénsalo. No te apresures.
Encontrará que este enfoque no solo resuelve el problema en cuestión, sino también otros problemas mucho peores que encontrará si continúa por su camino actual.
fuente