Условие -e проверяет существование пути, -f существование файла.
Допустим я указываю скрипту 2 аргумента.
В 1м аргументе путь до файла.
Во 2м аргументе путь до директории. Дальше будет копирование в эту директорию.
Думаю надо бы проверить нет ли файла с таким названием в директории, куда копируем, а то будет перезапись (возможно нежелательная).
Но как составить условие, чтобы отделить от первого аргумента название файла и подставить его в конец 2го аргумента?
Допустим 1й аргумент.
~/testdir/file.txt
2й аргумент директория, в которую копируем файл.
~/dir_for_files
Если пишу так-
if [[ -f $arg2/$arg1 ]]
То понятно что выйдет хрень и слепит 2 пути в один. Надо как-то отрезать последний кусок от 1го пути (файл) и добавить в конец 2го. Вдобавок я не уверен что -f подходит для такой цели. Он говорит «это является файлом», но проверяет ли по названию? Или эту проверку уже самому надо будет как-то придумать?
И непонятно как победить вот такой косяк-
///
Когда слепил 2 пути. Иногда в конце директории мы ставим /, иногда можем забыть поставить (но баш все-равно поймет что это директория), в любом случае получается лишний символ /.