我继承了一个最近需要修改的长 bash 脚本。bash 脚本每天作为 cronjob 运行。我很擅长 bash 脚本,但我对 Perl 知之甚少。
我不得不将所有“rm”命令替换为对执行类似操作的 perl 脚本的调用(出于安全目的)。这个脚本不是我写的,所以没有 -f 标志来跳过确认提示。因此,为了自动化这个脚本,我将“是”传递给脚本。
这是一个我按顺序删除两个目录的示例:
echo REMOVING FILES TO SAVE DISK SPACE
echo "yes | sudo nice -n -10 perl <path_to_delete_script.pl> -dir <del_dir1>"
yes | sudo nice -n -10 perl <path_to_delete_script.pl> -dir <del_dir1>
echo "yes | sudo nice -n -10 perl <path_to_delete_script.pl> -dir <del_dir2>"
yes | sudo nice -n -10 perl <path_to_delete_script.pl> -dir <del_dir2>
echo DONE.
在我的输出文件中,我看到以下内容:
REMOVING FILES TO SAVE DISK SPACE
yes | sudo nice -n -10 perl <path_to_delete_script.pl> -dir <del_dir1>
yes | sudo nice -n -10 perl <path_to_delete_script.pl> -dir <del_dir2>
DONE.
perl 脚本似乎没有运行。然而,当我将这两个命令复制并粘贴到终端时,它们都运行良好。
任何帮助表示赞赏。先感谢您。