Script Linux
Hola buenas mira tengo que hacer este script y la verdad es que lo tengo un poco complicado, si serias tan amable de ayudarme...
Gracias, lo necesito para el lunes.
1. ¿El script debe tener una opción -? Que muestre la ayuda, tal como sigue:
Etc
#fstabman -?
Uso:
fstabman --> Edita el fichero /etc/fstab
fstabman -f <fichero_tab> --> Edita el fichero <fichero_tab>
¿fstabman -? --> Muestra esta ayuda
2. Si el script se invoca sin parámetros, se usará por defecto el fichero /etc/fstab. Informará al usuario de ello y mostrará un prompt (>) para que el usuario introduzca los comandos interactivos:
#fstabman
Editando fichero /etc/fstab...
>
3. Si el script se invoca con la opción -f, cogerá lo siguiente como argumento de la opción, e indicará la ruta al fichero fstab a modificar. Ha de informar al usuario de ello y mostrar un prompt para que éste introduzca los comandos interactivos:
#fstabman -f ./fstab
Editando el fichero /home/usuario1/fstab
>
4. Desde el prompt de comandos interactivos de usuario, ¿Podremos introducir? Para ver la lista de opciones que puede realizar el usuario con el fichero fstab. Las opciones serán l - para listar el contenido del fichero fstab, a - para añadir una entrada al fichero fstab o de para borrar una entrada del fichero fstab. La opción que sacará al usuario del programa:
>?
l --> Lista el contenido del fichero fstab
a --> Añade una entrada al fichero fstab
d --> Borra una entrada del fichero fstab
q --> Sale del programa
>
5. Cuando el usuario entra la opción l, se listará el contenido del fichero fstab con el que estamos trabajando:
>l
/dev/sda1 / ext3 defaults 1 1
/dev/hda6 swap swap defaults 0 0
>
6. Si el usuario entra la opción a, el programa pedirá que el usuario entre los distintos campos de la fila a añadir. Las opciones irán separadas por tabuladores. Una vez entrada la última opción, se añadirá la fila con los datos introducidos y se mostrará un listado para ver cómo queda el fichero:
>a
device> /dev/sda2
mount point>/boot
file system>ext3
options>defaults
num-freq>0
pass-num>0
/dev/sda1 / ext3 defaults 1 1
/dev/hda6 swap swap defaults 0 0
/dev/sda2 /boot ext3 defaults 0 0
>
7. Si el usuario entra la opción d, el programa mostrará el contenido del fichero fstab con un número inicial que identifique cada fila. Luego pedirá que el usuario entre la fila a borrar y, tras borrarla, mostrará como queda el fichero fstab.
>d
(1) /dev/sda1 / ext3 defaults 1 1
(2) /dev/hda6 swap swap defaults 0 0
(3) /dev/sda2 /boot ext3 defaults 0 0
enter row to delete> 3
/dev/sda1 / ext3 defaults 1 1
/dev/hda6 swap swap defaults 0 0
>
8. Si el usuario entra la opción q, se saldrá del programa.
Se ha de tener en cuenta que si, por ejemplo, usamos ficheros temporales, éstos se han de gestionar como corresponde; han de contemplar que el script lo pueda ejecutar más de un usuario al mismo tiempo y que si se pulsa Ctrl+C no queden sin borrar.
Gracias, lo necesito para el lunes.
1. ¿El script debe tener una opción -? Que muestre la ayuda, tal como sigue:
Etc
#fstabman -?
Uso:
fstabman --> Edita el fichero /etc/fstab
fstabman -f <fichero_tab> --> Edita el fichero <fichero_tab>
¿fstabman -? --> Muestra esta ayuda
2. Si el script se invoca sin parámetros, se usará por defecto el fichero /etc/fstab. Informará al usuario de ello y mostrará un prompt (>) para que el usuario introduzca los comandos interactivos:
#fstabman
Editando fichero /etc/fstab...
>
3. Si el script se invoca con la opción -f, cogerá lo siguiente como argumento de la opción, e indicará la ruta al fichero fstab a modificar. Ha de informar al usuario de ello y mostrar un prompt para que éste introduzca los comandos interactivos:
#fstabman -f ./fstab
Editando el fichero /home/usuario1/fstab
>
4. Desde el prompt de comandos interactivos de usuario, ¿Podremos introducir? Para ver la lista de opciones que puede realizar el usuario con el fichero fstab. Las opciones serán l - para listar el contenido del fichero fstab, a - para añadir una entrada al fichero fstab o de para borrar una entrada del fichero fstab. La opción que sacará al usuario del programa:
>?
l --> Lista el contenido del fichero fstab
a --> Añade una entrada al fichero fstab
d --> Borra una entrada del fichero fstab
q --> Sale del programa
>
5. Cuando el usuario entra la opción l, se listará el contenido del fichero fstab con el que estamos trabajando:
>l
/dev/sda1 / ext3 defaults 1 1
/dev/hda6 swap swap defaults 0 0
>
6. Si el usuario entra la opción a, el programa pedirá que el usuario entre los distintos campos de la fila a añadir. Las opciones irán separadas por tabuladores. Una vez entrada la última opción, se añadirá la fila con los datos introducidos y se mostrará un listado para ver cómo queda el fichero:
>a
device> /dev/sda2
mount point>/boot
file system>ext3
options>defaults
num-freq>0
pass-num>0
/dev/sda1 / ext3 defaults 1 1
/dev/hda6 swap swap defaults 0 0
/dev/sda2 /boot ext3 defaults 0 0
>
7. Si el usuario entra la opción d, el programa mostrará el contenido del fichero fstab con un número inicial que identifique cada fila. Luego pedirá que el usuario entre la fila a borrar y, tras borrarla, mostrará como queda el fichero fstab.
>d
(1) /dev/sda1 / ext3 defaults 1 1
(2) /dev/hda6 swap swap defaults 0 0
(3) /dev/sda2 /boot ext3 defaults 0 0
enter row to delete> 3
/dev/sda1 / ext3 defaults 1 1
/dev/hda6 swap swap defaults 0 0
>
8. Si el usuario entra la opción q, se saldrá del programa.
Se ha de tener en cuenta que si, por ejemplo, usamos ficheros temporales, éstos se han de gestionar como corresponde; han de contemplar que el script lo pueda ejecutar más de un usuario al mismo tiempo y que si se pulsa Ctrl+C no queden sin borrar.
Respuesta de bonzairaver