Hoy me hallaba programando en el maravilloso Sublime Text mi prototipo de shell en Linux y me encontré con un problema: El programa tiene funciones "built-in" como mkdir, ls y cd que ya he programado, pero el script queda muy largo y lioso de entender, aún comentando correctamente, así que se me ocurrió...
¿Puedo crear varios archivos en una carpeta llamada "builtin" en la carpeta del programa, y que cada vez que llame a, por ejemplo, mkdir, ejecute un .pl que contenga esas órdenes? He leído algo de .pm, packages y demás dolores de cabeza, y se me hace muy difícil entenderlo. Si alguien me lo explicara o me diera un código de ejemplo de cómo hacerlo estaría muy contento.
Ejemplo de lo que quería hacer:
Script de la shell:
Using perl Syntax Highlighting
- # Continúa por aquí y por abajo, solo es un ejemplo
- elsif ($CMD eq "#Mkdir") {
- print "Choose a name for the new folder, and a mask separated by a comma if you want (by omision is 0777)Ej='Folder,0475'\n";
- print color('red');
- print "[Mkdir]>> " ;
- print color('reset') ;
- my $MkdiR = <STDIN> ;
- chomp $MkdiR ;
- mkdir $MkdiR or die "Folder cannot be created: $!\n";
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Como planearía que quedara:
Using perl Syntax Highlighting
- elsif ($CMD eq "#Mkdir") {
- call $SH_PATH/builtin/mkdir.pl #de existir call para este propósito
- }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Teniendo mkdir.pl las ordenes que tiene el script 1 en esa sección.
Un saludo y ¡gracias por adelantado!