每 1 分钟在 for 循环中调用一个命令
calling a command in for loop every 1 minute
我正在 运行 我的 运行nable jar 文件是这样的:
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_100.txt
现在我想 运行 在 for 循环中执行上述命令 100 次,但它应该在再次调用之前休眠 1 分钟并且文件名应该在每个 运行 中递增 1。
所以流程应该是这样的:
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_100.txt
sleep for 1 minute
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_101.txt
sleep for 1 minute
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_102.txt
.. keep doing this 100 time
所以我在 for 循环下面,但不确定如何在再次调用它之前睡 1 分钟并在每个 运行 时将文件计数增加 1?
for ((i=1;i<=100;i++)); do /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_100.txt; done
您可以使用 sleep
命令暂停循环执行一分钟,对于文件名,在名称中添加“$i”变量应该就足够了:
for ((i=1;i<=100;i++)); do
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > "test_jar_${i}.txt"
# Sleep for a minute
sleep 60
done
假设使用 bash 的公共 Linux 环境,您可以执行:
for i in $(seq 100 199) ; do echo "iteration $i" ; /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_$i.txt ; sleep 60 ; done
如果您的文件从 100 开始编号,为什么要从 1 开始循环?
for ((i=100; i<200; i++)); do yourlongcommand > test_jar_$i.txt; sleep 1m; done
我正在 运行 我的 运行nable jar 文件是这样的:
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_100.txt
现在我想 运行 在 for 循环中执行上述命令 100 次,但它应该在再次调用之前休眠 1 分钟并且文件名应该在每个 运行 中递增 1。
所以流程应该是这样的:
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_100.txt
sleep for 1 minute
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_101.txt
sleep for 1 minute
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_102.txt
.. keep doing this 100 time
所以我在 for 循环下面,但不确定如何在再次调用它之前睡 1 分钟并在每个 运行 时将文件计数增加 1?
for ((i=1;i<=100;i++)); do /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_100.txt; done
您可以使用 sleep
命令暂停循环执行一分钟,对于文件名,在名称中添加“$i”变量应该就足够了:
for ((i=1;i<=100;i++)); do
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > "test_jar_${i}.txt"
# Sleep for a minute
sleep 60
done
假设使用 bash 的公共 Linux 环境,您可以执行:
for i in $(seq 100 199) ; do echo "iteration $i" ; /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_$i.txt ; sleep 60 ; done
如果您的文件从 100 开始编号,为什么要从 1 开始循环?
for ((i=100; i<200; i++)); do yourlongcommand > test_jar_$i.txt; sleep 1m; done