
existir Cáscara de pescadohay un comando especial, i.e. functions llegar Administrar e interactuar con las características. Pero no hay un comando incorporado como la cáscara de pescado functions Los comandos administran funciones en Bash. Sin embargo, Bash proporciona otras herramientas y técnicas para implementar una funcionalidad similar. En este tutorial, aprenderemos cómo Administrar comandos de declaración de función bash Eficazmente.
Cómo administrar las funciones en Bash
1. Crear o definir nuevas características
Podemos directamente ~/.bashrc Archivos o guardar funciones en archivos separados en directorios dedicados, p. ~/.bash_functions.
Almacene todas las funciones en un solo directorio, lo que le permite mantener las funciones organizadas y manejables.
Cree un directorio dedicado para almacenar todas las funciones:
mkdir ~/.bash_fucntions
Almacenar funciones en archivos separados:
Guardar cada función en un archivo separado ~/.bash_functions/.
Creemos una función de muestra llamada cdls.
nano ~/.bash_functions/cdls.sh
Agregue las siguientes líneas:
cdls ()
{
cd "$@" && ls --color=auto
}La función de origen proviene de ~/.bashrc:
Agregue las siguientes líneas a su ~/.bashrc Cargue automáticamente todos los archivos de características:
for func_file in ~/.bash_functions/*.sh; do
source "$func_file"
done
Ahora puedes usar cdls Función Cada vez que su CD enumera automáticamente el contenido del directorio.
cdls Downloads/
Ahora puedes usar declare Los comandos se enumeran, se ven o eliminan según sea necesario.
2. Enumere todas las características
Para enumerar todas las funciones definidas actualmente en Bash, use declare usar -F Opciones:
declare -F
Esto generará los nombres de todas las funciones. Si desea ver el nombre y la definición, use:
declare -f
3. Ver características específicas
Para ver la definición de una característica específica, use declare -f El siguiente es el nombre de la función:
declare -f function_name
Por ejemplo, mire la definición de una función llamada cdlscorrer:
declare -f cdls
Salida de muestra:
cdls ()
{
cd "$@" && ls --color=auto
}4. Eliminar función
Para eliminar la función (no establecer), use unset Orden:
unset -f function_name
Por ejemplo, eliminar cdls Función:
unset -f cdls
5. Función de edición
Para editar una función puede:
- Editar manualmente el archivo que define la función (por ejemplo,
~/.bashrco~/.bash_functions/). - Conjunto
declare -fy editor de texto Editar la función directamente en el terminal.
Por ejemplo, editar cdls Función:
declare -f cdls > /tmp/cdls.sh nano /tmp/cdls.sh source /tmp/cdls.sh
6. Guardar la función en un archivo
Para guardar la definición de una función en un archivo, use declare -f Y redirigir la salida:
declare -f function_name > filename.sh
Por ejemplo, guardar cdls Función para archivar:
declare -f cdls > ~/.bash_functions/cdls.sh
7. Función de carga de archivo
Para cargar una función desde un archivo, use source Orden:
source filename.sh
Por ejemplo, carga cdls Función:
source ~/.bash_functions/cdls.sh
8. Función de copia
Para copiar la función a un nuevo nombre, use declare -f y eval:
declare -f original_function > /tmp/temp_function sed 's/original_function/new_function/g' /tmp/temp_function | source /dev/stdin
Por ejemplo, copiar cdls llegar mycdls:
declare -f cdls > /tmp/temp_function sed 's/cdls/mycdls/g' /tmp/temp_function | source /dev/stdin
9. Verifique si la función existe
Para verificar si la función existe, use declare -F y Uva:
if declare -F function_name > /dev/null; then
echo "Function exists"
else
echo "Function does not exist"
fiTabla de trucos: función de gestión en Bash
Lista de todas las características:
declare -F
Ver características específicas:
declare -f cdls
Eliminar la función:
unset -f cdls
Guarde la función en un archivo:
declare -f cdls > ~/.bash_functions/cdls.sh
Carga desde la función de archivo:
source ~/.bash_functions/cdls.sh
Resumen
Aunque Bash no está disponible functions Comando como conchas de pescado, puede usar declare Orden. Almacenando la función en un archivo separado y desde ~/.bashrcpuede mantener la configuración limpia y organizada.









