为什么以下作业调度命令会引发模糊的重定向错误?

时间:2017-06-07 05:56:38

标签: linux bash cron

我有10个用户(user0-user9)。他们每个人都有一个名为delta的文件夹。每个增量文件夹中有10个文件夹(folder1-folder10)。十个文件夹中的每个文件夹中都有一个file.txt。为什么以下作业调度命令会引发模糊重定向?

如果没有for循环,我该如何做到这一点我需要在每个文件中附加不同的随机字符串?

crontab -e
21 15 * * 1-6 echo $(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1) >>/home/user{0..9}/delta/folder{1..10}/file.txt 

1 个答案:

答案 0 :(得分:0)

如果你的目标是将相同的输出写入所有文件,那么你可以使用tee

tr -dc a-zA-Z0-9 </dev/urandom |
    fold -w 10 |
    head -n 1 |
    tee -a /home/user{0..9}/delta/folder{1..10}/file.txt >/dev/null

如果你的目标是追加不同的东西,那么我认为循环是不可避免的。对于您的cron-job案例,这意味着您需要将命令包装在bash -c '...'