如何在 for 循环内自动复制和粘贴自动提示中的仅“单引号”文本?

如何在 for 循环内自动复制和粘贴自动提示中的仅“单引号”文本?

我正在使用一个命令来使用 for 循环检索多个过期目录。系统有一个安全检查,想要确保我是人类。

$ for x in $(exp-dir); do 
clean_command $x
done

系统将自动提示交互式 shell,我应该复制并粘贴引用的文本(对于 for 循环中的每个 $x)来完成:

$ to verify that you are human, please type 'xyzylans':
you are human
Info: restore successful.

有什么方法可以解析、复制和传递单引号文本,也就是说,完全自动化循环!

答案1

$ cat testscript.sh
#! /bin/bash

string='xyzylans'
echo "to verify that you are human, please type '${string}':"
read cmpstring
test "$string" = "$cmpstring"
echo $?

如果使用了stdinstdout,那么你可以这样做:

coproc ./testscript.sh
awk -F\' "/^to verify that you are human, please type '.*':\$/ "\
"{ print \$2; exit };" <&${COPROC[0]} >&${COPROC[1]}
cat <&${COPROC[0]}

相关内容