Linux 关于UNIX移动命令覆盖保护

Linux 关于UNIX移动命令覆盖保护,linux,shell,unix,Linux,Shell,Unix,从shell脚本transfer.sh粘贴了一段代码 if [[ ${ld} -eq ${eld} ]] ; then mv "$file1" "$FILESNEW/." if [ $? -ne 0 ]; then echo "Move Command Failed-File ${fspec}" fi echo "File ${fspec} Suces

从shell脚本transfer.sh粘贴了一段代码

        if [[ ${ld} -eq ${eld} ]] ; then
            mv "$file1" "$FILESNEW/."
            if [ $? -ne 0 ]; then
               echo "Move Command Failed-File ${fspec}"
            fi

            echo  "File ${fspec} Sucessfully Moved to ready directory "
        else
          echo "File ${fspec} line count mismatch: ${lc}/${elc}"
        fi
执行时./transfer.sh move命令等待提示“覆盖保护y/n”
我不希望在执行move命令时出现此提示。我怎样才能摆脱它?

mv
更改为
mv-f


但是请记住,
-f
强制它意味着它不会提示您,因此您最好确定您知道如何使用它。

mv
更改为
mv-f


但是请记住,
-f
强制它意味着它不会提示您,因此您最好确定您知道如何使用它。

使用
mv-f
。选项-f覆盖任何提示(“强制”)

-f、 --武力


使用
mv-f
。选项-f覆盖任何提示(“强制”)

-f、 --武力

试一试

试一试

更改:

mv "$file1" "$FILESNEW/."
致:

(或mv位于机器上的任何位置)

更改:

mv "$file1" "$FILESNEW/."
致:


(或mv位于您机器上的任何位置)

问题不是找不到“mv”@gary:但最有可能的是
mv
是一个别名,使用
/bin/mv
是有效的,因为默认情况下
mv
不要求确认。我提出的问题是需要对路径进行硬编码,但有一些方法可以解决(例如,
哪个mv
)。如果有别名,添加开关可能会进一步混淆情况。仍然不行。如果现有文件没有写入权限,则绕过别名无法解决问题。在这种情况下,默认设置是请求确认。如果eqbridges的真正意图是避免使用别名“-i”,那么eqbridges在提出解决方案时不必要地含糊不清,应该再次投反对票。嗯,尝试移动没有写入权限的文件不会导致
mv
请求确认。至少使用GNU coreutils v7.0。我还尝试了只读目录和只读目标文件(即0444)。或者,你的意思是别的吗?问题不是找不到“mv”@gary:但很可能
mv
是一个别名,使用
/bin/mv
是有效的,因为默认情况下
mv
不需要确认。我提出的问题是需要对路径进行硬编码,但有一些方法可以解决(例如,
哪个mv
)。如果有别名,添加开关可能会进一步混淆情况。仍然不行。如果现有文件没有写入权限,则绕过别名无法解决问题。在这种情况下,默认设置是请求确认。如果eqbridges的真正意图是避免使用别名“-i”,那么eqbridges在提出解决方案时不必要地含糊不清,应该再次投反对票。嗯,尝试移动没有写入权限的文件不会导致
mv
请求确认。至少使用GNU coreutils v7.0。我还尝试了只读目录和只读目标文件(即0444)。或者,你是说别的吗?
mv "$file1" "$FILESNEW/."
/bin/mv "$file1" "$FILESNEW/."