4

通常のユーザーに接続する必要がある bash+expect スクリプトがあります。特定のファイルを読み込んで変数に保存し、その特定のファイルを root ユーザーで使用したいと考えています。どうすれば値を取得できますか? 私のスクリプトは次のとおりです。

#!/bin/bash
set prompt ">>> "
set command ls /root/test1

expect << EOF
spawn su root
expect "password:"
send "rootroot\r"
expect "$prompt\r"
send "$command\r"
expect "$prompt\r"
expect -re "(.*)\r\n$prompt\r\n"
EOF

echo "$command"

 if [ ! -f "$command" ]; then

                echo "file is not exist"
else
                echo "file is exist"
            fi

シェルスクリプトを実行すると、次の出力が表示されます。

ls: /root/: 権限が拒否されました

ファイルが存在しません

基本的にテストはありますが、「ファイルが存在しません」と表示されます

4

1 に答える 1