Questions et réponses d'entrevue pratiques sur les scripts de shell Linux

Questions et réponses d'entrevue pratiques sur les scripts de shell Linux

Avec la réponse écrasante que nous obtenons sur les articles de la série d'interview, le premier du genre sur tout site Web Linux How-To sous forme de likes, de commentaires en commentaire ainsi que sur l'adresse e-mail personnelle, nous faites passer d'un article à la prochaine article.

Voici le lien vers les articles de la série d'interview déjà publiés sur Tecmint.com, où nous avons couvert de nombreux sujets à savoir., FTP, MySQL, Apache, Scripting, Commandes Linux, etc.

Question d'entrevue pratique sur les scripts shell

Continuant à la série ci-dessus ici, nous venons avec 5 autres merveilleuses questions d'entrevue Linux et leur réponse. Votre (le Tecmint.COM lecteurs et visiteurs fréquents) Le soutien est toujours nécessaire pour réussir.

1. Écrivez un script shell pour obtenir la date, l'heure actuelle, le nom d'utilisateur et le répertoire de travail actuel.
Répondre : Les commandes Logname, date, qui je suis et PWD publieront le nom d'utilisateur, la date et l'heure actuelles et le répertoire de travail actuel. Il suffit d'implémenter ces commandes dans le script et de le rendre un peu interactif.

Créez maintenant un fichier appelé 'tats utilisateurs.shot'Et y ajouter le code suivant.

#!/ bin / bash echo "Hello, $ Logname" echo "La date actuelle est" Date "" echo "l'utilisateur est 'qui je suis" "echo" répertoire actuel' Pwd '"

Placez l'exécution de l'autorisation et exécutez le script comme indiqué ci-dessous.

# CHMOD 755 Tats utilisateurs.sh # ./ utilisateurs tats.shot
Échantillon de sortie
Bonjour, AVI La date actuelle est samedi 7 juin 13:05:29 IST 2014 L'utilisateur est Avi Pts / 0 2014-06-07 11:59 (: 0) Répertoire actuel / Home / Avi / Desktop
2. Écrivez un script shell qui ajoute deux nombres s'ils sont fournis comme argument de ligne de commande et si les deux nombres ne sont pas entrés, il publie un message d'erreur avec une ligne de description de l'utilisation.
Répondre : Voici le script de shell simple avec description qui ajoute deux numéros s'il est fourni comme argument de ligne de commande, sinon il lance une erreur avec une ligne unique sur la façon d'utiliser le script.

Créez à nouveau un fichier appelé 'à deux mois.shot'Et y ajouter le contenu suivant.

#!/ bin / bash # le shebang if [$ # -ne 2] # Si deux entrées ne sont pas reçues de l'entrée standard, puis exécutez les instructions ci-dessous Echo "Utilisation - 0 $ x y" # Imprimer sur la sortie standard, utilisation de la manière script (utilisation - ./1.sh x y) écho "où x et y sont deux n ° n ° à laquelle j'imprimerai la somme" # imprimer sur la sortie standard, "où x et y sont deux n ° à laquelle j'imprimerai la somme" La tâche a été effectuée avec succès. fi # fin de la déclaration if. Echo "La somme de 1 $ et 2 $ est" expr 1 $ + 2 $ "" # Si la condition ci-dessus était fausse et que l'utilisateur a entré deux numéros comme argument de ligne de commande, il affichera la somme des numéros entrés.

Définissez l'autorisation Executer sur le fichier et exécutez le script comme indiqué ci-dessous.

# Chmod 755 deux numbers.shot

Condition 1: Exécuter le script sans entrer dans deux numéros comme argument de ligne de commande, vous obtiendrez la sortie suivante.

Échantillon de sortie
# ./ Deux numbers.utilisation - ./ Deux numbers.sh x y où x et y sont deux n ° nos pour lesquels je vais imprimer la somme

Condition 2: Lorsque les numéros sont entrés comme argument de ligne de commande, vous obtiendrez le résultat comme indiqué.

$ ./ Deux numbers.Sh 4 5 Somme de 4 et 5 est 9

Par conséquent, le script shell ci-dessus remplit la condition comme suggéré dans la question.

3. Vous devez imprimer un numéro donné, dire 10572, dans l'ordre inverse à l'aide d'un script de shell tel que l'entrée est fournie en utilisant l'argument de la ligne de commande uniquement. Si les données d'entrée ne sont pas fournies comme argument de ligne de commande, il doit lancer et errer et suggérer, comment utiliser le script. Écrivez le script mais avant cela, dites-moi l'algorithme qui doit être implémenté ici.

Algorithme

  1. 1. Laissez le numéro d'entrée = n
  2. 2. Définir Rev = 0, SD = 0 (Digitis inversé et unique réglé sur 0)
  3. 3. n% 10, trouvera et donnera un seul chiffre à gauche
  4. 4. Le numéro inversé est généré comme Rev * 10 + SD
  5. 5. Diminuer le nombre d'entrée (n) par 1.
  6. 6. Si n> 0, alors goto étape 3 else goto setp 7
  7. 7. Imprimer Rev

Maintenant encore, créez un fichier appelé 'Nombres.shot'Et ajoutez le code donné suivant.

#!/ bin / bash si [$ # -ne 1] puis écho "Utilisation: 0 $ Numéro" Echo "Je trouverai l'inverse du numéro donné" Echo "pour EG. 0 0123, je vais imprimer 3210 "Exit 1 fi n = 1 $ Rev = 0 sd = 0 tandis que [$ n -gt 0] do sd =" expr $ n% 10 "Rev =" expr $ Rev \ * 10 + $ sd "n =" expr $ n / 10 "fait echo" le numéro inversé est $ rév "

Accorder une autorisation d'exécution sur le fichier et exécuter le script comme indiqué ci-dessous.

# nombres Chmod 755.H

Condition 1: Lorsque la saisie n'est pas fournie comme argument de ligne de commande, vous obtiendrez la sortie suivante.

Échantillon de sortie
./Nombres.Utilisation de sh: ./Nombres.le numéro de sh je trouverai l'inverse du numéro donné pour EG… / 2.SH 123, je vais imprimer 321

Condition 2: Lorsque la saisie a été fournie comme argument de ligne de commande.

$ ./Nombres.SH 10572 Le numéro inversé est 27501

Le script ci-dessus fonctionnait parfaitement et la sortie était exactement ce dont nous avions besoin.

4. Vous êtes censé calculer un calcul de nombre réel directement à partir de terminal et non de script shell. Que ferez-vous (disons que les vrais nombres sont 7.56 et 2.453)?
Répondre : Nous devons utiliser la commande BC d'une manière spéciale comme décrit ci-dessous. La sortie de l'écho 7.56 + 2.453 devrait être pipeliné en Colombie-Britannique.

Par exemple, exécutez la commande suivante pour calculer les nombres en temps réel en utilisant avant JC Commande comme indiqué.

$ echo 7.56 + 2.453 | BC 10.013
5. Vous êtes censé trouver la valeur de Pi jusqu'à 100 lieux de décimale, quelle est la façon la plus simple de faire le résultat.
Répondre : La façon la plus simple de trouver la valeur de PI, corriger jusqu'à 100 lieux de décimal, nous avons juste besoin d'émettre la commande ci-dessous.
# pi 100 3.14159265358979323846264338327950288419716939937510582097494459230781640628208998628034825342117067

Évidemment! Nous devons avoir un package 'pi' installée. Faites juste un apte ou Miam Pour obtenir un package requis pour installer 'pi'sur la distribution que vous utilisez.

C'est tout pour le moment. Je reviendrai très bientôt avec un autre article intéressant. Jusque-là, restez à l'écoute et connecté à Tecmint.com. N'oubliez pas de nous fournir vos précieux commentaires dans la section des commentaires ci-dessous.