gpt4 book ai didi

Linux期待。如何用 "log_user 0"删除第一个空行?

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:30 25 4
gpt4 key购买 nike

我有这个脚本。

“log_user 0”将隐藏询问密码,但留下一个空行。 我想删除这个空行。

脚本:

#!/usr/bin/expect

log_user 0
set timeout 10

if {[llength $argv] == 0} {
send_user "Usage: sshpwd \'password\' ssh ...\n"
exit 1
}

set cmd [lrange $argv 1 end]
set pwd [lindex $argv 0]

eval spawn $cmd
expect {
"*yes/no*" { send "yes\r" ; exp_continue }
"*assword:" { send "$pwd\r"; interact; }
}

执行示例(123 之前的空行):

username@localhost:~$ ./sshpwd.exp password ssh username@localhost "(echo \"123\") && date '+%Y.%m.%d' && echo [TEST]"

123
2016.04.06
[TEST]

如果我在脚本中删除字符串“log_user 0”时执行的示例(123 之前没有空行,但有 'spawn...'、'passw...'):

username@localhost:~$ ./sshpwd.exp password ssh username@localhost "(echo \"123\") && date '+%Y.%m.%d' && echo [TEST]"
spawn ssh username@localhost (echo "123") && date '+%Y.%m.%d' && echo [TEST]
username@locahost's password:
123
2016.04.06
[TEST]

我想看到这个输出:

username@localhost:~$ ./sshpwd.exp password ssh username@localhost "(echo \"123\") && date '+%Y.%m.%d' && echo [TEST]"
123
2016.04.06
[TEST]

最佳答案

试试 spawn -noecho ...

此外,这样做比 eval spawn -noecho $cmd 更安全:

spawn -noecho {*}$cmd

关于Linux期待。如何用 "log_user 0"删除第一个空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36446520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com