我很难理解这一点。我研究了大括号扩展和mv
命令,但由于某种原因,它对我来说仍然没有意义。我正在阅读 Unix 和 Linux 系统管理手册,他们以此为例,但我不明白这一行:
mv $fname ${fname/.log/.LOG};
我意识到它正在移动与 .log 相关的当前$fname
变量,但这让${fname/.log/.LOG};
我感到困惑。我认为它基本上是mv
源目的地......那么为什么有 2 / 的?如果有人能用简单的英语向我解释这一点,我将不胜感激!
#!/bin/bash
find . -type f -name '*.log' | grep -v .do-not-touch | while read fname;
do
mv $fname ${fname/.log/.LOG/};
done