Tutoriales

Cómo administrar las funciones bash utilizando el comando de declaración en Linux

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:

Publicaciones relacionadas

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, ~/.bashrc o ~/.bash_functions/).
  • Conjunto declare -f y 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"
fi

Tabla 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.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba