chmod + x.. Не удается открыть файл

Можно создать сценарий для запуска myAPICommand.exe, но сначала удалить файл myFile.txt, если он существует. Тогда вам не придется постоянно выполнять команду rm для очистки.

Нравится:

if [ -e myFile.txt ]
then
    rm myFile.txt && myAPICommand.exe
else

Вы также можете сделать так, чтобы ваша команда убирала за собой. Если файл пуст, добавьте что-то вроде следующего.

Нравится:

if [ -s myFile.txt ]
then
        EXIT 0
else
        rm myFile.txt && EXIT 1
fi
0
14.12.2020, 11:48
3 ответа

Как указал arielCo , содержимое скрипта при выполнении вызывает ошибки, вы можете изменить приведенный выше цикл скрипта for, чтобы устранить проблему.

for file in `ls PATH_TO_FILES/Form?.csvпреобразовано в

for file in `ls $PATH_TO_FILES/Form?.csv`

Добавление $перед переменной заменит значение переменной.

0
18.03.2021, 22:43

Сообщение об ошибке не относится к final_project.sh. Он открывается и запускается, и сообщение об ошибке из ls, которое, как я полагаю, вызывается сценарием :, жалуется на два аргумента, которые не соответствуют никаким файлам, которые он может найти.

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

0
18.03.2021, 22:43

Прочитав все комментарии и не найдя его, предположим, что ваши циклы for -включают$

Я бы сказал, что PATH_TO_FILES=home/Desktop/FINAL_Project/final_examотсутствует ведущий /.

Возможно, ваш скрипт ищет в<current dir>home

Вы можете узнать это, выполнив "эхо" переменную в начале вашего скрипта:

...
echo $PATH_TO_FILES
...

Кроме того, поскольку это указано в заголовке вопроса, вам не нужно chmodзапускать скрипт, когда вы запускаете его с помощью shили bashвот так

bash my_script.sh

На самом деле, вы можете полностью опустить шебанг.

Надеюсь, это поможет

1
18.03.2021, 22:43

Теги

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