Ubuntu для Windows при запущении скрипта дает mv: не может ошибка статистики

У меня есть проект узла, который использует child_process для начинания сценария. Циклы сценария по файлам, преобразовывает их для обработки изображений, хранит путь к каждому в массиве и возвращает массив узлу. затем я преобразовываю в строку, чтобы считать ее и сделать console.log для наблюдения результатов. Я получаю ошибку однако:

I/O Error: Couldn't open file `'/mnt/c/localBarcodereader/pdf/calBarcodereader/pdf/K0XY92E6@DWEMIT6.glagsec107.SEC1.pdf': No such file or directory.
mv: cannot stat '/mnt/c/localBarcodereader/pdf/calBarcodereader/pdf/K0XY92E6@DWEMIT6.glagsec107.SEC1.pdf': No such file or directory`

Я не вижу эту ошибку при выполнении в сервере Linux. Только, когда я выполняю это в Ubuntu для Windows. Я заметил по ошибке, что путь к каталогу копируется: calBarcodereader/pdf

вот мой сценарий:

#! /bin/bash
ndate=
дата + %F _ % T OIFS=$IFS; IFS=$'\n'; array=($(find /mnt/c/localBarcodereader/pdf -type f - size +0b)); IFS=$OIFS for item in "${array[@]}" do

file=$item
file="${file:9}"
fname="${file::-4}"
PATHTOIMG= "/mnt/c/localBarcodereader/pdfimage/${fname}_${ndate}"
if [ ${file: -4} == ".pdf" ]; then
# pdftoppm /mnt/c/localBarcodereader/pdf/K0WNZLLW@ERNWZOO.glagsec101.SEC1.pdf /mnt/c/localBarcodereader/pdfimage/test -png -f 1 -singlefile -rx 1500 -ry 1500
    pdftoppm /mnt/c/localBarcodereader/pdf/$file $PATHTOIMG -png -f 1 -singlefile -rx 1500 -ry 1500
    mv /mnt/c/localBarcodereader/pdf/$file /mnt/c/localBarcodereader/pdfarchive
    echo $PATHTOIMG
else
        mv /mnt/c/localBarcodereader/pdf/$file /mnt/c/localBarcodereader/pdfarchive
fi done

и мой код узла:

const cp = require('child_process')

try {
const data = cp.execSync('/mnt/c/localBarcodereader/barcodeScript.sh');
if (data.toString() !== "") {
    console.log(data.toString())
2
задан 26 September 2019 в 00:51

1 ответ

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

Как изменение быстрого исправления эта строка:

file="${file:9}"

к этому:

file="${file:30}"

По существу Вы заменяли переменную file от:

/mnt/c/localBarcodereader/pdf/K0XY92E6@DWEMIT6.glagsec107.SEC1.pdf

к:

calBarcodereader/pdf/K0XY92E6@DWEMIT6.glagsec107.SEC1.pdf

, Когда намерение состояло в том, чтобы измениться file, чтобы быть:

K0XY92E6@DWEMIT6.glagsec107.SEC1.pdf

существуют лучшие способы сделать это, и я попытаюсь пересмотреть ответ (и переформатировать Ваш вопрос) немного позже.

0
ответ дан 2 December 2019 в 05:58

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

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