|
|
# 1 |
|
חבר וותיק
|
בעיה ב- bash
שלום לכולם.
אני מתכנת איזה פאנל בשפת bash. עכשיו אני מנסה לעשות ככה: להכנס ליוזר מסויים דרך הפקודה: su דרך הroot. הוא מצליח להיכנס אבל אחרי שעושים את הפקודה su yoni הוא נותן לנו ככה: קוד:
[yoni@100 root]$ אבל זה לא עושה כלום, אחרי הפקודה אני מנסה להריץ פקודה מסוימת ורק אחרי שאני יוצא מהיוזר היא מופעלת. הנה הקוד להבנה טובה יותר: קוד:
function install
{
if [ $1 = 2 ]; then
echo "Pleas supplied a username [אנא ספק את שם היוזר]"
read username
clear
su $username
cd
echo "Number servers running [מספר השרתים שרצים ביוזר]:"
ps ux | grep hlds_i686 | wc -l
exit
else
echo "בחירה לא טובה, תודה."
echo "אתה מנותק מהמערכת"
sleep 3
exit
read dist
install $dist
fi
}
יוני.
__________________
יונתן.
אימייל: jonathan@zeierman.net |
|
|
|
# 2 |
|
חבר וותיק
|
הסתדרתי עם הקוד הבא:
קוד:
function install
{
if [ $1 = 2 ]; then
echo "Pleas supplied a username [אנא ספק את שם היוזר]"
read username
clear
cd /home/$username
su $username
echo "Number servers running [מספר השרתים שרצים ביוזר]:"
ps ux | grep hlds_i686 | wc -l
exit
else
echo "בחירה לא טובה, תודה."
echo "אתה מנותק מהמערכת"
sleep 3
exit
read dist
install $dist
fi
}
su הוא לא מציג את הפקודה, ז"א רק אחרי שיוצאים מהיוזר רואים את הפקודה. ז"א הוא ממתין עד שאני אצא מהיוזר. יש משהו שאפשר לעשות? יוני.
__________________
יונתן.
אימייל: jonathan@zeierman.net |
|
|
|
# 3 |
|
מנהל ראשי
|
אפשר לפתור את זה בצורה יפה (ומעט יותר מאובטחת) ע"י sudo -S
(שמאפשר לקבל את הסיסמא בתור stdin) ממליץ לך לקרוא את הmenual של sudo |
|
![]() |
| חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|