Функция Bash не возвращает ожидаемый результат - PullRequest
1 голос
/ 01 октября 2019

Я пытаюсь написать функцию для моего Bash-скрипта, чтобы она оставалась СУХОЙ, но по какой-то причине вывод кода отличается от того, когда он не находится внутри функции.

Чего мне не хватает?

Работает:

#Get file name from file path
fileName="$(basename "$file")";
#Remove " ' and white space from name
fileName=${fileName//[\"\'\ ]/};
convert "$file" -resize $RESOLUTION\> "$OUTPUT_PATH"$fileName;

Не работает:

function cleanUpName() {
  #Get file name from file path
  fileName="$(basename "$1")";
  #Remove " ' and white space from name
  echo ${fileName//[\"\'\ ]/};
}

convert "$file" -resize $RESOLUTION\> "$OUTPUT_PATH"$( cleanUpName $file);

1 Ответ

1 голос
/ 01 октября 2019

Как @ Robin479 предложил в комментариях, я пропустил кавычки для моей рабочей переменной файла, код выглядит следующим образом:

function cleanUpName() {
  #Get file name from file path
  fileName="$(basename "$1")";
  #Remove " ' and white space from name
  echo "${fileName//[\"\'\ ]/}"
}
convert "$file" -resize $RESOLUTION\> "$OUTPUT_PATH$( cleanUpName "${file}")"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...