for i in {1...50000};
do
$(sudo lsof -Pni | cut -f 1 -d ' ' > fd_history/$(date +"%H-%M-%S"));
done
它应该将lsof的输出传递到以当前时间戳命名的文件中(只有每个lsof输出行的第一个标记)。每个lsof需要几秒钟才能运行,因为有很多文件打开。
循环在第一次迭代后退出,而不是连续运行lsof。为什么? (顺便说一句,我正在直接在我的控制台中输入这一行。)
答案 0 :(得分:2)
你有一个额外的点:{1...50000}
应该是{1..50000}
;第一个没有以任何方式扩展。
答案 1 :(得分:0)
使用seq
。
for i in $(seq 50000);
do
$(sudo lsof -Pni | cut -f 1 -d ' ' > fd_history/$(date +"%H-%M-%S"));
done
或者
for i in {1..50000};
do
$(sudo lsof -Pni | cut -f 1 -d ' ' > fd_history/$(date +"%H-%M-%S"));
done