我有这个旧的删除脚本脚本,它正在远程应用程序上执行一些删除工作。完成删除处理后,它将返回#completed successfully#
或返回
#
*nothing more to delete*
*Program will exit*
#
我想要分配其输出并执行删除脚本,只要其输出为“ completed successfully
”即可。
我无法将脚本的结果分配给变量。我正在从文件夹X运行Shell脚本,而删除脚本位于文件夹Y。除了下面的脚本,我还尝试了以下操作:
response=$(cd $path_to_del;./delete.sh ...)
我无法完成这项工作。
#!/bin/bash
path_to_del=/apps/Utilities/unix/
response='completed successfully'
counter=1
while [[ $response == *successfully* ]]
do
response= working on batch number: $counter ...
echo $response
(cd $path_to_del;./delete.sh "-physicalDelete=true") > $response
echo response $response
((counter++))
done
echo deleting Done!
将输出从子shell传递到更高级别的shell的一般方法如下:
variable="$(command in subshell)"
要么
read -t variable < <(command)
因此,对脚本的修改可能如下所示:
response="$(cd $path_to_del;./delete.sh "-physicalDelete=true")"
要么
cd $path_to_del
response="$(./delete.sh "-physicalDelete=true")"
该行将失败,需要修复:
response= working on batch number:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句