Я пытаюсь создать сценарий bash на Cygwin и Windows Server 2008 R2, который ищет некоторые папки и перемещает их.
Кажется, проблема связана с именами папок, поскольку они содержать несколько пробелов между ними.
Все эти папки названы так: SOMENAME - RAF , где первая часть имени, SOMENAME , в этом случае изменяется в соответствии с содержанием документа, в то время как вторая часть - RAF является неизменяемой.
Я придумал следующий пример, но, к сожалению, не дает результата:
#!/bin/bash
rootdir="E:\cork scew"
workdir="E:\cork scew\temp"
outdir="E:\cork scew\completed"
if [ -d "$(cygpath -u "${rootdir}")/*\ -\ RAF" ];
then
echo found em
else
exit 0
fi
I также пытались без cygpath , таким образом, используя стандартный путь unix, но, по сути, не имели значения. Папки в этом формате * \ - \ RAF , похоже, не найдены.
По иронии судьбы, выполнение ls, как вы обычно делаете на bash, работает
blahba@locked /cygdrive/e/scum
$ ls /cygdrive/e/cork\ screw/*\ -\ RAF
/cygdrive/e/cork screw/WS0001 - RAF:
TEST1
/cygdrive/e/cork screw/WS0002 - RAF:
TEST1
/cygdrive/e/cork screw/WS0003 - RAF:
TEST1
/cygdrive/e/cork screw/WS0004 - RAF:
TEST1
Bash версия выглядит как 4.3.42 (4) -релиз (x86_64-unknown-cygwin) . Кто-нибудь понял, что я делаю не так?
Спасибо