我有一个非常简单的问题,但我就是想不通。关于以下命令行:
for foo in *.dist; do cp $foo `basename $foo .dist`; done
我知道它会获取当前目录中所有以 .dist 为扩展名的文件,然后复制它们,并在同一步骤中删除 .dist 扩展名(我从有关在 Ubuntu Server 下安装 OTRS 的 wiki 帖子中获取了它)。我只是想了解它为什么这样做。
非常感谢。
答案1
从man basename
NAME 基名-从文件名中删除目录和后缀
摘要 basename 名称 [后缀] basename 选项
描述 打印名称,删除所有前导目录组件。如果指定,还删除尾随的后缀。
因此,命令 basename 正在执行此操作