【发布时间】:2017-10-26 16:34:32
【问题描述】:
我有一个在 OSX 终端中运行的非常简单的 bash 脚本。它旨在使用特定文件路径重命名文件。几个月前它可以正常工作,但最近发生了各种疯狂的事情,我不知道为什么。
代码如下:
mv() { command mv "$@"; sleep 1; }
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate1.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate1A.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate2.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate2A.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate3.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate3A.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate4.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate4A.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_lifestyle.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_lifestyleA.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_standard.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_standardA.tif
我已经在有和没有第一行的情况下运行它。我添加了睡眠延迟,因为我怀疑导致问题的原因是过于激进的 IT 部门破坏了终端,情况仍然可能如此,但无论哪种方式脚本都不起作用。
这是终端在我运行时返回的内容:
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate1.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate1A.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate2.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate2A.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate3.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Remv -nvest/1140122_alternate3A.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_alternate4.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Remv -nTest/1140122_alternate4A.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_lifestyle.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Renmv -nv /Volume22_lifestyleA.tif
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_standard.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1140122_standardA.tifç^C^C^C^C^C
如您所见,它使文件重命名以及文件路径变得一团糟,甚至没有改变。我实际上只是在文件名末尾和文件扩展名之间添加字母 A。
有没有人在这里看到任何可能导致这种情况发生的事情?我们的 IT 部门最近开始使用名为 WebSense 的内容网关来监控公司活动,是否有可能是它导致了问题?
【问题讨论】:
-
您的脚本是否存在任何危险,即您的脚本已靠近 Windows 机器,或者被回车 (^M) 字符污染?我不确定这会解释你很容易看到的东西,但只是想知道。你如何运行它?
sh script.sh?你试过bash -x script.sh(或sh -x script.sh)吗? -
是的,它肯定在 Windows 机器附近。必须在 Windows 中搜索文件路径,因为我们尚未设置 Windows 服务器和 Mac 之间的正确通信。这些文件路径被放入一个 Excel 文档中,然后我在 TextWrangler 中对其进行格式化以在代码中使用。但是,它很有可能把事情弄得一团糟。我也应该尝试在 shell 中而不是直接在终端中运行它。
标签: bash macos terminal rename