我正在使用一个命令来使用 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 $?
如果使用了stdin
和stdout
,那么你可以这样做:
coproc ./testscript.sh
awk -F\' "/^to verify that you are human, please type '.*':\$/ "\
"{ print \$2; exit };" <&${COPROC[0]} >&${COPROC[1]}
cat <&${COPROC[0]}