/bin/sh: 1: Erro de sintaxe: string entre aspas não terminada ao usar nome base

/bin/sh: 1: Erro de sintaxe: string entre aspas não terminada ao usar nome base

exemplo de código: my PWD = /aa/bb/cc/dd

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

dir saídas variáveis ​​corretamente:/aa/bb/cc

variável de saída desejada:cc

erro que estou recebendo:/bin/sh: 1: Syntax error: Unterminated quoted string

Tentei diferentes combinações de cotações e outras coisas como estas soluções sugeridas:https://stackoverflow.com/questions/22401091/bash-variable-substitution-vs-dirname-and-basename/22402242ehttps://unix.stackexchange.com/questions/253524/dirname-and-basename-vs-parameter-expansion

Responder1

O código abaixo está funcionando para mim:

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

Responder2

Em vez de "$(PWD)", você vai querer "${PWD}". O primeiro tenta executar o comando PWD, o segundo expande para o valor da variável PWD.

informação relacionada