/bin/sh: 1: Синтаксическая ошибка: Незавершенная строка в кавычках при использовании базового имени

/bin/sh: 1: Синтаксическая ошибка: Незавершенная строка в кавычках при использовании базового имени

пример кода: my PWD = /aa/bb/cc/dd

dir= `dirname "$(PWD)"`
output = `basename "${dir}"`

Переменная dir выводит правильно:/aa/bb/cc

желаемая выходная переменная:cc

Я получаю ошибку:/bin/sh: 1: Syntax error: Unterminated quoted string

Я пробовал разные комбинации цитат и другие вещи, например, эти предложенные решения:https://stackoverflow.com/questions/22401091/bash-variable-substitution-vs-dirname-and-basename/22402242иhttps://unix.stackexchange.com/questions/253524/dirname-and-basename-vs-parameter-expansion

решение1

У меня работает следующий код:

dir1=`dirname "$PWD"`
output=`basename "$dir1"`

решение2

Вместо "$(PWD)", вам понадобится "${PWD}". Первый пытается выполнить команду PWD, последний расширяется до значения переменной PWD.

Связанный контент