Quiz: Ambiente shell e scripting

Domande sulla shell

1- Quale dei seguenti comandi aggiunge la directory /usr/sbin/ al proprio PATH?
A) $PATH=$PATH:/usr/sbin
B) $PATH=/usr/sbin
C) PATH=$PATH:/usr/sbin
D) PATH=PATH:/usr/sbin

2- Quale dei seguenti file di configurazione non viene utilizzato per definire l'ambiente della propria bash?
A) /etc/profile
B) /etc/shells
C) $HOME/.bash_profile (dove $HOME è l'home directory dell'utente)
D) /etc/bashrc

3- Con quale comando sulla bash si visualizzano le variabili d'ambiente?
A) env (analogo a printenv)
B) ambient
C) showenv (analogo a printenv)
D) showambient

4- Quale delle seguenti affermazioni è falsa?
A) La bash è un tipo di shell
B) La bash, la ksh, la csh sono diversi tipi di shell, su Linux la bash è la shell di default
C) La bash e la ksh sono shell diverse ma hanno gli stessi file di inizializzazione
D) Uno script eseguito per funzionare sulla bash potrebbe non funzionare su altre shell

5- Quale delle seguenti affermazioni è falsa?
A) Il comando "cat /etc/group > /tmp/group" di fatto fa una copia di /etc/group in /tmp/group
B) Il comando "cat /etc/group >> /tmp/group" aggiunge il contenuto di /etc/group alla file del file /tmp/group, se questo file non esiste, lo crea
C) Il comando "cat /etc/group | /tmp/group" di fatto fa una copia di /etc/group in /tmp/group
D) Il comando "cat /etc/group | grep root" visualizza le righe che contengono la parola "root" all'interno del file /etc/group

6- Quale delle seguenti affermazioni è falsa?
A) Lo standard input (stdin) è il canale attraverso il quale un programma riceve i dati di ingresso, generalmente la tastiera.
B) Lo standard output (stdout) è il canale di uscita del risultato dell'elaborazione del programma, di solito il video.
C) Lo standard error (stder) è dove un programma stampa eventuali errori durante l'esecuzione, di solito il video.
D) Standard output e standard error sui Unix moderni coincidono

Risposte

1) C- Una variabile si imposta senza specificare il segno $, che va utilizzato quando si deve sostituire il nome della variabile con il suo contenuto. I : sono necessari per separare le directory presenti nel proprio path, in questo caso, tutte le directory già presenti in PATH più /usr/sbin

2) B- /etc/shells non è un file di configurazione usato durante l'inizializzazione della bash

3) A- Il comando env (o printenv) visualizza le variabili d'ambiente della bash

4) C- La bash e la ksh sono shell diverse e non hanno gli stessi file di configurazione

5) C- Il comando "cat /etc/group | /tmp/group" non fa una copia di /etc/group, ma passa il suo contenuto allo standard input del comando /tmp/group (che, se non è un file eseguibile o se non esiste, genera un errore)

6) D- Stderr e stdout NON sono la stessa cosa, anche se a volte può essere difficile distinguerli in quanto di defualt hanno entrambi output a video.

Privacy Policy