Cygwin Bash Script не выдает никаких ошибок, но и не работает - PullRequest
0 голосов
/ 16 мая 2018

Я собираю простой скрипт для переименования и копирования файлов с определенным соглашением об именах в папку.Я полностью запустил сценарий на компьютере с Linux, на котором написал его, но как только я переключился на компьютер с Windows 10, с которого мне нужно было его запустить, он перестал работать.

Я пытаюсь запустить его из Cygwin, и всякий раз, когда я запускаю его, Cygwin не показывает ошибок или чего-то еще, но ничего не происходит.Не совсем уверен, куда идти дальше ...

Код приведен ниже:

#!/bin/bash

for file in /cygdrive/c/path/to/files/*;
do
if [[ $file = *"Search_Criteria"* ]]; then
mv "$file" "$(echo "$file" | sed -r 's/KDM_//')";
fi
done
for file in /cygdrive/c/path/to/files/*;
do
if [[ $file = *"Search_Criteria"* ]]; then
cp "$file" "/cygdrive/c/File/Destination";
fi
done

Буду очень признателен за любые советы о том, как его настроить и запустить на стороне Cygwin!

1 Ответ

0 голосов
/ 16 мая 2018

Тест как написано в не эффективен, так как расширение там не работает.Вы можете проверить подстроку или просто переместить тест как

#!/bin/bash

for file in /cygdrive/c/path/to/files/*"Search_Criteria"* ;
do
    mv "$file" "$(echo "$file" | sed -r 's/KDM_//')";
fi
done
for file in /cygdrive/c/path/to/files/*"Search_Criteria"* ;
do
    cp "$file" "/cygdrive/c/File/Destination";
fi
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...