Exercicis - bash - Paràmetres / Redirecció sortida

  1. Crea un script de nom hello.sh que visualitzi 'Hello World' per pantalla.
  2. Executa l'script del punt 1 cridant el programa només hello.sh.
  3. Crea un script de nom 'run.sh' que guardi en un fitxer de log "Execució script run.sh".
  4. Modifica el script anterior de forma que mostri per pantalla "Estat de l'execució: N", on N serà un 0 si el script s'ha executat de forma correcte o un número diferent de zero en cas contrari.
  5. Executa el script anterior obtenint: "Estat execució: 0".
  6. Executa el script del punt 4 però en aquest cas, enlloc de mostrar un 0 ha de mostrar un valor diferent de 0.
  7. Crea un script que mostri per pantalla el nombre d'arguments que s'han introduït
  8. Crea un script que permeti la recepció de 4 arguments. Visualitza per pantalla els arguments número 1,3 i 4. Cal mostrar cada argument en una línia separada.
  9. Modifica el script del punt anterior de forma que només apareixi una vegada la comanda echo. La visualització ha de ser la mateixa.
  10. Modifica el script del punt 3, de forma que enlloc de visualitzar "Execució script run.sh" substitueixi run.sh pel nom del script que s'està executant. Això vol dir que si es canvia el nom del script run.sh per execucio.sh , el programa mostrarà "Execució script execucio.sh"

Exercicis - Python

Traspassa tots els exercicis de bash a Python excepte els exercicis 4, 5 i 6.

Exercicis - bash - redirecció entrada

  1. Crea un script que demani dues informacions. Cal visualitzar les dues informacions per pantalla. Per exemple, si l'usuari introdueix primer "Hola" i després "Adeu", cal mostrar per pantalla "Hola i Adeu".
  2. Modifica el script anterior per tal que en el text es visualitzi també informació passada per la línia de comanda. Per exemple,

    bash script Que tal
    

    i l'usuari introdueix primer "Hola" i després "Adeu", cal mostrar per pantalla "Hola Que tal i Adeu" . En la crida com a màxim es passaran 2 paràmetres.

  3. Modifica el script anterior afegint variables d'entorn: 2 que ja existeixin en el sistema i 2 de noves.
  4. Crea un script que llegeixi les tres primeres línies d'un fitxer. Cal imprimir la 1a i la 3a línia. Fes-ho utilitzant els diferents operadors de redireccionament d'entrada.
  5. Crea un script que visualitzi només algunes de les columnes de la comanda "ls -alis" . Per exemple, que es visualitzin 2 columnes en cada una de les línies. Utilitza la comanda cut.

Exercicis - python

Traspassa els exercicis de bash a Python

Exercicis - bash - condicionals

  1. Donat un nom de fitxer que l'usuari t'envia com a argument del programa comprova si aquest fitxer existeix o no en el teu sistema.
  2. Amplia l'exercici 1 especificant si l'argument introduït és un fitxer o un directori.
  3. Amplia l'exercici 2 de forma que si l'usuari no introdueix cap argument en la crida del programa, mostri el missatge: "Usage: nom.sh filename" . On nom.sh sigui el nom del teu script. Si es canvia el nom del script, també s'ha de canviar (automàticament) el missatge d'error.
  4. Amplia l'exercici 2 de forma que si l'usuari no especifica cap argument li demani el programa quan s'executi.
  5. Amplia l'exercici 4 de forma que si l'usuari especifica més d'un paràmetre li mostri com ha d'utilitzar el programa.
  6. Amplia l'exercici 5 de forma que si el fitxer especificat és un directori comprovi si l'usuari disposa de permís d'execució. En cas afirmatiu , el programa mostrarà té permís per accedir al directori (nom del directori). Sinó, cal mostrar un missatge conforme l'usuari no té accés al directori.
  7. Donat dos fitxers heu de dir quin dels dos ocupa més bytes o si són iguals. Per fer-ho heu d'utilitzar la comanda wc i la comanda cut. Per a igualar una variable a una comanda utilitzeu la forma var=$(comanda) . Per exemple: AVUI=$(date) guarda la data d'avui a la variable AVUI.
  8. Modifica l'exercici 7 reportant en un fitxer /var/log/nomprograma.err els errors que puguin succeir: "DATA: no existeix el fitxer X especificat" , on DATA és la data d'execució i X és el nom del fitxer. Si es canvia el nom del programa (nomprograma.sh) també haurà de canviar el nom del fitxer .err amb el nou nom.
  9. (MyEditor) Fes un programa que visualitzi un menú amb 4 opcions possibles. (1.- Crear un fitxer, 2.- Escriure text al fitxer, 3.- Veure contingut del fitxer, 4.- Modificar el fitxer, 5.- Sortir) . L'usuari haurà de començar sempre per l'opció 1. L'opció 2 sempre afegirà el text al final del fitxer, l'opció 4 demanarà una línia a l'usuari que serà la posició on vol insertar el text. Les opcions 2 i 4 han de demanar el text a inserir a l'usuari.

Exercicis - python

Adapta els exercicis de bash a Python (menys el 7 i el 8).

Exercicis - bash - repetitives

  1. Fes un programa que visualitzi el nom de tots els fitxers/directoris que hi ha en un directori especificat per l'usuari. Cal mostrar el nom de cada un dels fitxers en una línia apart. L'especificació del directori es farà utilitzant ruta absoluta. Per exemple: bash fitxers.sh /etc cal que mostri tots els fitxers del directori etc (sense incloure subdirectoris).
  2. Amplia l'exercici 1 per tal de mostrar tots els fitxers del directori que comencen per les lletres especificades per l'usuari.
  3. Modifica l'exercici 2 per tal que si no s'ha introduït el directori o el nom del fitxer, el programa sol·liciti aquesta informació a l'usuari. Sempre que l'usuari especifiqui un paràmetre, aquest farà referència al directori.
  4. Modifica l'exercici 3 però en aquest cas, utilitzarem el paràmetre -d per a especificar el directori i -f per especificar la lletra o lletres del fitxer. Per exemple, bash fitxers.sh -d /etc -f sa o bash fitxers.sh -f sa -d /etc , bash fitxers.sh -f sa són totes crides vàlides. Tingues en compte , que en l'últim exemple el programa ens haurà de demanar el nom del directori, ja que és la informació que falta.
  5. Modifica l'exercici 4 però en aquest cas cal guardar en un fitxer que especificarà l'usuari tots els arxius amb permís d'escritura (per l'usuari que executa el script).

results matching ""

    No results matching ""