在bash中,如果我想截断目录中的一堆文件,我将执行以下操作:
for i in *
do
cat /dev/null > $i
done
在鱼中,我尝试过:
for I in *
cat /dev/null > $I
end
但这给了我错误:
fish: Invalid redirection target: $I
所以有人知道如何实现这一目标吗?
谢谢。
答案 0 :(得分:4)
为我工作。请注意,如果未设置变量I
,则将得到该错误的唯一方法。我注意到您在bash示例中使用小写字母,在fish示例中使用大写字母。你可能把案件混在一起了吗?例如,这将导致您看到的错误:
for i in *
true > $I
end
P.S。,在POSIX Shell中执行: > $i
效率更高。由于fish不支持:
,因此执行true > $i
避免产生外部命令并打开/ dev / null更为有效。