¿Alguien puede guiarme para crear comandos personalizados en Unix / Linux?
¿Alguien puede guiarme para crear comandos personalizados en Unix / Linux?
Respuestas:
Cree un script bash en su carpeta / usr / bin, debería verse así
#!/bin/bash
Whatever combination of commands you want to run when you type this thing.
Es realmente así de fácil.
Simplemente asigne al script de bash lo que desea escribir en el terminal y hágalo ejecutable: ¡ chmod +x filename
y listo!
./filename
Actualice su variable de ruta para incluir este directorio bin. Ponga esto .profile
o .bash_profle
archivo para hacerlo permanente.
export PATH=$PATH":$HOME/bin"
Cree un script que diga "hola" y manténgalo en su directorio bin. Otorgue permiso de ejecución al script de saludo de $ chmod +x hello
.
#!/bin/bash
echo My first program
Recargar .profile
o .bash_profle
:
$ . ~/.bash_profile
Desde cualquier directorio, simplemente escriba:
$ hello
My first program
bin
carpeta en muchas respuestas aquí. ¿Hay algún problema si es en .bin
lugar de bin
? Soy muy exigente con mi home
aspecto y no quiero una carpeta adicional solo porque sí.
zsh
instalación o $PATH
que chmod -x hello
resultó que no funcionaba, tampoco lo hace un capital -X
. En cambio, lo intenté chmod 755 hello
, aunque no estoy seguro de los riesgos de seguridad con respecto a este comando, en realidad me permitió ejecutarlo hello
. ¿Alguien tiene una explicación para esto? ¿Asumo que es un problema con respecto a la edad?
chmod +x hello
para agregar privilegios de 'ejecución' al script. chmod -x hello
hace exactamente lo contrario: elimina los privilegios de 'ejecución'. (Observe la diferencia de signo más / menos en la respuesta y en su comentario.)
Fácil, crea un alias.
Digamos que desea escribir un comando para cd en su directorio de descarga. Y quieres llamarlo cdd.
alias cdd='cd ~/Downloads'
Puede crear cualquier comando que desee.
Aquí hay más información:
http://www.mediacollege.com/linux/command/alias.html
La mayoría, si no todas, las distribuciones de Linux tienen un pequeño script en ~ / .bashrc que se ve casi idéntico a este:
if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi
Esto simplemente significa que puede crear sus propios comandos (también conocido como ' aliases
' generalmente se refiere a un comando existente con algunos argumentos que siempre tiene que usar, o una lista de comandos que deben ejecutarse en orden).
Lo más probable es que su distribución de Linux no tenga el archivo .bash_aliases creado en su hogar, a menos que ya lo haya hecho manualmente. Entonces, para crear el archivo, escriba el siguiente comando:
touch ~/.bash_aliases
Ahora ese archivo se ejecutará automáticamente cada vez que encienda una nueva Terminal.
Lo que puede hacer ahora es crear una lista de alias y agregarlos a ese archivo para usos posteriores. Por ejemplo, el rm
comando (eliminar) por defecto NO le pide que confirme su solicitud cuando le dice que elimine un archivo / directorio. Sin embargo, existe un argumento que dice rm
que le pedirá que confirme su solicitud, -i
. Por lo tanto, rm -i filePath
mostrará un mensaje preguntándole si estaba seguro de que desea eliminar el archivo especificado. Ahora, si eliminara accidentalmente un archivo, es muy probable que olvide incluir la -i
opción, y ahí es donde se alias
vuelve muy beneficioso. Escribiendo el siguiente comando
echo "alias rm='\rm -i'" >> ~/.bash_aliases
le dirá Bash
que cada vez que solicite eliminar un archivo, se le mostrará un mensaje de confirmación. Por supuesto, hay mucho más que puede hacer, esto es solo lo básico.
Si quieres aprender a utilizar algunos comandos básicos (es decir cd
, touch
, rm
, mkdir
, pushd
, popd
, etc.) y / o los más sofisticados, me gustaría recomendar un libro muy bueno que puede tener en su biblioteca como referencia llamada
Una guía práctica para editores de comandos de Linux y programación de shell , por Mark G. Sobell . ISBN: 978-0133085044