Относительно защиты от переопределения команд перемещения UNIX - PullRequest
0 голосов
/ 25 февраля 2010

Вставил кусок кода из скрипта оболочки 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 команда перемещения ожидает приглашения "защита от переопределения y / n" Я не хочу, чтобы эта подсказка появлялась при выполнении команды перемещения. Как я могу избавиться от этого?

Ответы [ 4 ]

1 голос
/ 25 февраля 2010

Используйте mv -f. Опция -f переопределяет любые запросы («сила»).

-f, --force

do not prompt before overwriting
1 голос
/ 25 февраля 2010

попробуй

   if [[ ${ld} -eq ${eld} ]] ; then
        mv -f "$file1" "$FILESNEW/"
        ....
1 голос
/ 25 февраля 2010

изменить mv на mv -f

Справочная страница для mv

Но помните, -f принудительно означает, что это не будет запрашивать вас, поэтому вам лучше быть уверенным, что вы знаете, как это будет использоваться.

0 голосов
/ 25 февраля 2010

изменение:

mv "$file1" "$FILESNEW/."

до:

/bin/mv "$file1" "$FILESNEW/."

(или там, где на вашем компьютере находится mv)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...