我是bash脚本的新手,因此我有一个非常简单的问题。 我在下面写了一个简单的代码:
#!/bin/bash
for i in 450 500 550 600 650 700 750 800 850 900 950 1000
do
mkdir $i'K'
cd $i'K'
sigma=$(echo "scale=5;(8.61734e-05*$i))" | bc)
cp ../INCAR_default .
sed 's/_s_/'$sigma'/g' INCAR_default > INCAR
rm INCAR_default
done
现在,我有两个问题: 1.如何修改'for循环'的脚本,以便始终保持特定的间隔?例如,这里的间隔是50.我知道脚本的间隔为“1”,但不是特定的间隔。
任何人都可以同时提供我的查询解决方案吗?
谢谢!
答案 0 :(得分:3)
您可以使用C风格的循环
for (( i = 450; i <= 1000; i += 50 )); do
....
done
对于第二部分,来自bc
的错误消息告诉您它并不喜欢您提供的输入。您似乎有两个)
,但只有一个(
。
sigma=$(echo "scale=5;(8.61734e-05*$i))" | bc)