簡體   English   中英

sudo里面的問題是期望腳本

[英]Problems with sudo inside expect script

我正在運行以下腳本

#!/usr/bin/expect -f

set user [lindex $argv 0]
set pass [lindex $argv 1]
set PATH [lindex $argv 2]
set INV_PATH [lindex $argv 3]

spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $user@localhost

expect "assword: "
send "$pass\r"
expect "$ "
send "echo $pass | /usr/local/bin/sudo -S $INV_PATH/orainstRoot.sh\r"

expect "$ "
send "cd $PATH/bin\r"

expect "$ "
send "echo $pass | /usr/local/bin/sudo -S cp oraenv coraenv sqlplus dbhome /usr/bin\r"

expect "$ "
send "echo $pass | /usr/local/bin/sudo -S $PATH/root.sh\r"

expect "Check"
send "\r"

在一些機器和一些機器上工作正常,它拋出以下錯誤......我已經檢查過,它不是導致問題的路徑。

/usr/local/bin/sudo: /scratch/prod_sw/app/oraInventory/orainstRoot.sh: command not found
$ echo PASSWD | /usr/local/bin/sudo -S cd /scratch/prod_sw/app/prod_sw/product/11.2.0/db_home/bin
/usr/local/bin/sudo: cd: command not found
$ echo PASSWD | /usr/local/bin/sudo -S cp oraenv coraenv sqlplus dbhome /usr/bin
cp: cannot stat `oraenv': No such file or directory
cp: cannot stat `coraenv': No such file or directory
cp: cannot stat `sqlplus': No such file or directory
cp: cannot stat `dbhome': No such file or directory
$ echo PASSWD | /usr/local/bin/sudo -S /scratch/prod_sw/app/prod_sw/product/11.2.0/db_home//root.sh
Check /scratch/prod_sw/app/prod_sw/product/11.2.0/db_home/install/root_slcad22rhu_2013-07-22_04-41-49.log for the output of root script

嘗試為這些文件提供完整路徑並檢查一次。

cp / path / oraenv / path / coraenv / path / sqlplus / path / dbhome / usr / bin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM