我有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
答案 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 '...'
。