运行脚本时出现问题

运行脚本时出现问题

我已经创建了一个脚本/home/普拉斯塔目录。我在里面创建了另一个目录/home/普拉斯塔命名的测试目录。我里面有多个文件/home/prashast/测试目录。运行脚本时/home/普拉斯塔目录不影响其中的文件/home/prashast/测试目录

#!/bin/bash
for f in $(ls /home/prashast/TestDirectory/); do
     mv "$f.txt" "$f.text";
done

答案1

不解析ls结果,请改用此代码。

for f in /home/prashast/TestDirectory/*; do
    echo mv "$f" "${f%.*}.text";
done

我们${f%.*}使用的是一个shell参数扩展表达式(cut-up-to-first-suffix);从末尾开始剥离到文件名的开头,直到第一次.看到为止。

阅读有关章节Bash shell 参数扩展了解更多。

相关内容