程式碼範例:
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 的值。