有人可以帮助我吗?
for k in {1..10001}
do
if [ -d "$k" ]
then
cd $k/
testfile="grep Have aims.out | cut -c11-14"
cd ..
fi
if [[ "$testfile" == "Have" ]]
then
mv $k $k_OK
fi
done
应该更改目录名称的部分不起作用。我认为我错误地使用了变量 testfile。
答案1
你的价值$testfile
是grep Have aims.out | cut -c11-14
绝对不等于Have
。这就是为什么你if
根本不进入第二个块。
如果要执行grep
语句并将其结果分配给变量,则需要用反引号替换引号:
testfile=`grep Have aims.out | cut -c11-14`