![从文件重定向输入](https://linux22.com/image/1103034/%E4%BB%8E%E6%96%87%E4%BB%B6%E9%87%8D%E5%AE%9A%E5%90%91%E8%BE%93%E5%85%A5.png)
我正在编写一个必须运行另一个脚本(TASK.sh)的脚本(TEST.sh)...Task.sh 需要两个输入...所以我在考虑从文件重定向输入(我需要自动化一切)...
因此,我使用了以下解决方案:
exec "$assessment_tests/task.sh" "$parameters" < "$testdir/stdin" > "$testdir/output2";
但我收到“访问被拒绝”错误
还有另一个解决方案
bash "$assessment_tests/task.sh" "$parameters" < "$testdir/stdin" > "$testdir/output2";
(我已将 exec 更改为 bash)
在第二种方法中,我可以运行脚本 task.sh ,但在 output2 中我总是发现消息“输入错误”,其中“输入错误”是 task.sh 的输出...但我应该获得“输入正常”...
我的标准输入文件只是一行,值为“my_input”
有什么建议吗?
谢谢
答案1
您的字符串CD1243423kk,0dc3dopwlz
未通过该if
语句:
if [[ ! $input =~ ^[a-k][a-kC-Z0-9]{4,},[a-z0-9]{3,}$ ]]; then
echo "Errore Autenticazione";
exit 21;
fi
解决这个问题就解决了你的问题。
请记住,它是区分大小写的。第一组必须是[a-kA-K]
,然后你的字符串才会通过。