Mein Code sucht nur nach einem Benutzer in meiner passwd-Datei.So rufen Sie einen Code auf, der eine Codezeile von einem Benutzer benötigt
#!/bin/bash
ret=false
getent passwd "$1" >/dev/null 2>&1 && ret=true
if $ret; then
echo "yes the user exists"
else
echo "No, the user does not exist"
fi
Es funktioniert gut und Sie nennen es nur mit Namen:. problem2.bsh (Benutzername) und es prüft, ob der Benutzer in meiner Passwd-Datei ist. funktioniert gut. Aber ich möchte es zusammen mit 2 anderen Codes in eine Methode bringen, die mir die Möglichkeit gibt, es zu nennen. ex:
while [true]
do
case $option in
a) . problem1.bsh
;;
b) . problem2.bsh
;;
c) . problem3.bsh
;;
x) break
;;
*) echo "invalid input"
esac
done
Option a und c, arbeitet Aufruf Problem 1 und 3 in Ordnung, aber aus irgendeinem Grunde Problem 2 gibt nichts zurück. Gibt es sowieso problem2 um nach einem Benutzernamen zu fragen, um meine Passwd-Datei vorher einchecken und dann ausführen statt einsteigen zu müssen. problem2.bsh (Benutzername), um es zu überprüfen.
Ich schlage vor, '[true]' 'durch true' zu ersetzen. – Cyrus