Имитировать действие команды mv

, если у вас есть емкость, тогда включение в BIOS должно быть очень простым, просто загрузитесь в BIOS и ищите «Виртуализацию», это должно быть в разделе «Безопасность». Затем просто включите. :

)
1
задан 7 July 2016 в 20:05

2 ответа

Ниже приведена функция проверки достоверности синтаксиса mv. Обратите внимание, что он работает только для 2 аргументов, SOURCE и DESTINATION и не проверяет флаг -t.

Функция должна быть помещена в ~/.bashrc. Чтобы немедленно использовать его, откройте новый терминал или запустите source ~/.bashrc

mv_check()
{
    # Function for checking syntax of mv command 
    # sort of verbose dry run
    # NOTE !!! this doesn't support the -t flag
    # maybe it will in future (?)

    # check number of arguments  
    if [ $# -ne 2   ]; then
        echo "<<< ERROR: must have 2 arguments , but $# given "
        return 1
    fi

    # check if source item exist
    if ! readlink -e "$1" > /dev/null 
    then
        echo "<<< ERROR: " "$item" " doesn't exist"
        return 1
    fi

    # check where file goes

    if [ -d "$2"  ]
    then
        echo "Moving " "$1" " into " "$2" " directory"
    else
        echo "Renaming "  "$1" " to " "$2" 
    fi

}

Вот несколько тестовых прогонов:

$> mv_check  TEST_FILE1  bin/python                                                                                      
Moving  TEST_FILE1  into  bin/python  directory
$> mv_check  TEST_FILE1  TEST_FILE2                                                                                      
Renaming  TEST_FILE1  to  TEST_FILE2
$> mv_check  TEST_FILE1  TEST_FILE 2                                                                                     
<<< ERROR: must have 2 arguments , but 3 given 
$> mv_check  TEST_FILE1  TEST_FILE\ 2                                                                                    
Renaming  TEST_FILE1  to  TEST_FILE 2
$> mv_check  TEST_FILE1  "TEST_FILE 2"                                                                                   
Renaming  TEST_FILE1  to  TEST_FILE 2
$> mv_check  TEST_FILE1                                                                                                  
<<< ERROR: must have 2 arguments , but 1 given 
10
ответ дан 23 May 2018 в 08:48
  • 1
    Вы должны добавить y / n, чтобы продолжить и вызвать фактический mv. ;) – chaskes 28 June 2016 в 18:59

Существует программа для github, которая, возможно, может быть тем, что вы ищете.

Согласно их описанию проекта, maybe

... позволяет вам запускать команду и посмотреть, что она делает с вашими файлами, даже не делая этого! После просмотра перечисленных операций вы можете решить, действительно ли вы хотите, чтобы эти вещи произошли или нет.

Таким образом, он также покажет вам, что другие программы будут делать с вашими файлами, а не только mv.

maybe требует запуска Python, но это не должно быть проблемой , Его легко установить или создать с помощью пакета управления пакетами Python.

Процесс установки и использование программы описаны на главной странице проекта. К сожалению, у меня нет доступа к системе Linux на данный момент, поэтому я не могу предоставить вам какие-либо примеры использования программы.

4
ответ дан 23 May 2018 в 08:48
  • 1
    Как хорошо все звучит в соответствии с документацией: «никогда не используйте maybe для запуска ненадежного кода». – grooveplex 28 June 2016 в 18:02
  • 2
    @grooveplex Не доверяете ли вы реализации mv в вашей системе? – maddin45 28 June 2016 в 18:12
  • 3
    да, да, но это означалось как хедз-ап – grooveplex 28 June 2016 в 18:23

Другие вопросы по тегам:

Похожие вопросы: