Linux 关于UNIX移动命令覆盖保护
从shell脚本transfer.sh粘贴了一段代码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
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/."