Me gustaría crear un alias para el rm
comando para tener un mensaje de confirmación después de ejecutar este comando. Entonces estoy creando un alias como este alias rm='rm -i'
. Pero hasta donde sé, este es un alias temporal y dura hasta que cierras la terminal.
Como se explica aquí para guardar el alias de forma permanente, necesito ejecutar ~/.bash_aliases
o ~/.bashrc
comandos en la terminal y agregar mi alias allí. Pero cuando ejecuto ~/.bashrc
me sale el siguiente mensaje de error:
bash: /home/bakhtiyor/.bashrc: Permission denied
Cuando ejecuto ~/.bash_aliases
me sale otro mensaje de error como este:
bash: /home/bakhtiyor/.bash_aliases: File or directory doesn't exist.
¿Cuál es el problema real y cómo puedo resolverlo?
alias rm='rm -i'
no resuelve el problema de usar rm al azarRespuestas:
Para crear un alias de forma permanente, agregue el alias a su
.bashrc
archivoY luego agregue su alias en la parte inferior.
Ahora ejecute
. ~/.bashrc
en su terminal (debe haber un espacio entre el.
y~/.bashrc
.Ahora puedes verificar tu alias.
fuente
source
. Con. ~/.bashrc
, obtienes tu fiesta. La ejecución del archivo iniciaría un proceso secundario, ejecutaría los comandos en este proceso y luego regresaría. Todo lo que se hace en el proceso hijo no tiene ningún efecto en el proceso padre (el bash desde el que ejecutó). En cambio, el abastecimiento (con el punto) actúa exactamente como si hubiera escrito el contenido del archivo en el terminal. Esto es lo que quieres..bashrc
se obtiene cada vez que comienzas una fiesta. Si realiza cambios, no se aplicarán hasta que inicie una nueva bash o fuente manualmente.Hay muchas formas de crear un alias. Las formas más utilizadas son:
Agregue alias directamente en su
~/.bashrc
archivoPor ejemplo: agregue estas líneas al
~/.bashrc
archivoLa próxima vez (después de haber cerrado / cerrado sesión, o hecho
. ~/.bashrc
) cuando escribarm
elrm -i
comando se ejecutará.El segundo método le permite crear un archivo de alias por separado, por lo que no tendrá que ponerlos
.bashrc
, sino en un archivo de su elección. Primero, edite su~/.bashrc
archivo y agregue las siguientes líneas si aún no existen, o descomente si lo hacen:Guárdelo y cierre el archivo. Después de eso, todo lo que tiene que hacer es crear un
~/.bash_aliases
archivo y agregar sus alias allí, con el mismo formato especificado en el primer método.Contenido de mi
~/.bash_aliases
archivo:fuente
~/.bash_aliases
.alias aliases="xdg-open ~/.bash_aliases && source ~/.bash_aliases"
, por lo que el alias estuvo disponible para guardar, y si comete algún error, lo anunciará.alias ls='ls -althr'
, algunas de las banderas dadas no tendrían efecto, en este caso la bandera -t no tuvo efecto. ¿Sabes por qué?~/.bashrc
contiene inclusión para~/.bash_aliases
, no es necesario editarlo.Me parece que su único problema es simplemente intentar ejecutar .bashrc cuando no es ejecutable. Pero esta no es la forma correcta de hacerlo; cada vez que realice un cambio en este archivo, debe "ejecutarlo" mediante el comando:
De lo contrario, simplemente creará un nuevo shell, ejecutará el archivo en el entorno del nuevo shell, luego descartará ese entorno cuando salga, perdiendo así el cambio. Al obtener el script, se ejecuta dentro del shell actual, por lo que permanecerá vigente.
Supongo que el segundo error fue porque bash_aliases no existe. No es obligatorio, solo se recomienda mantener sus cambios separados y organizados. Solo se usa si existe, y puede ver la prueba en .bashrc:
Esto dice que si el archivo ~ / .bash_aliases existe, ejecútelo.
fuente
~/.bash_aliases
es mejor. askubuntu.com/questions/194111/…source
comando hizo que mis alias funcionaran. +1. ~/.bash_aliases
tiene el mismo significado que el comando incorporado del shellsource
. Creo que esta es la respuesta correcta, explicando lo que está sucediendo.El problema es que está intentando ejecutar un archivo no ejecutable: puede verificar esto con:
Tenga en cuenta que no hay una letra "x - ejecutable" en la primera columna (permisos de archivo).
Los archivos de perfil no son archivos ejecutables, en lugar de ejecutarlos, los carga con:
o
fuente
Este es un ejemplo que estaba buscando, una forma de escribir algunas letras en el terminal ("vps") para iniciar sesión de forma remota en un servidor y habilitar el reenvío X11 para que pueda ejecutar aplicaciones gui como "gedit" en la red.
Cualquiera que sea el comando / comando con alias, de esta manera con la declaración de eco, las comillas y el símbolo para agregar la salida de un comando a un archivo (>>) me funciona. Simplemente reemplace mi comando por el comando alias que necesita e ingréselo en su terminal.
fuente
si está usando ruby, puede instalar aka usando rubygem.
gem install aka2
uso
el rubygem auto-originará su archivo de puntos para que no lo necesite. Echale un vistazo.
fuente
Escribí esta útil función para crear rápidamente un nuevo alias y luego escribir la definición del alias
~/.bash_aliases
(si existe) o~/.bashrc
.CONSEJO : Asegúrese de que
~/.bash_aliases
exista y se ejecute en~/.bashrc
.fuente
.bashrc
con múltiples instancias dealias
comando. Su función definitivamente necesita implementar algunos chequeos para evitar tal desorden.Sugeriría usar
/etc/bash.bashrc
Puede agregar una línea al final de ese archivo.
Después de poner los alias por línea, debe reiniciar o volver a iniciar sesión.
fuente
source /etc/bash.bashrc
hace todo lo que quieres en este ejemplo. Pero debería usar~/.bashrc
o en su~/.bash_aliases
lugarComo recuerdo,
bashrc
tiene o tenía una línea que sugiere no usarla directamente para los alias. La solución es usar un archivo o archivos externos. Se han agregado los aliasfoo
ybar
, pero para agregarbaz
elbashrc
archivo se debe "obtener" (o simplemente abrir un nuevo terminal). Ejemplo como:ahora el
baz
alias funciona. Me acabo de dar cuenta de que una respuesta anterior había mencionado esta técnica, pero habían enterrado el lede.fuente