0

ここでは、Linux シェル スクリプトを作成して、プログラムを実行し、「ユーザーがルートとしてログインしました」をエコーし​​ます。しかし、それは何も表示しません。「exit」を指定すると、「root としてログインしたユーザー」が表示されます。この問題を解決するために私を助けてください。

#!/bin/bash 
logged_user=`whoami`
if [ $logged_user != root ]
    then echo "You are not logged as root!"
    echo "Enter root password if root password is set"
    su                                #here it will ask to enter root password
    echo "user logged as root"        #this line is not working...  

fi
4

3 に答える 3

0

"あなたはあなたの状態で周りのルートを忘れました

#!/bin/bash 
logged_user=`whoami`
if [ $logged_user != "root" ]
    then echo "You are not logged as root!"
    echo "Enter root password if root password is set"
    su                                #here it will ask to enter root password
    echo "user logged as root"        #this line is not working...  

fi
于 2013-10-31T10:39:12.977 に答える
0

必要なのは、ユーザーが SU のパスワードを入力した後にのみコマンドを実行するには、プログラムを 2 つの bash ファイルに分割するだけです

1 main.sh

#!/bin/bash 
logged_user=`whoami`
if [ $logged_user != root ]
    then echo "You are not logged as root!"
    echo "Enter root password if root password is set"
    su root echo_file.sh    #here it call echo_file.sh as root user    


fi

2 echo_file.sh

echo "user logged as root";
echo `whoami`
于 2013-10-31T11:43:42.360 に答える