bash:「$()」を使用して「find」の出力を変数に入れようとしましたが、うまくいきません。

bash:「$()」を使用して「find」の出力を変数に入れようとしましたが、うまくいきません。

私のスクリプトの目的は、ユーザー入力によって提供された値に基づいて最後のサブディレクトリへのフルパスを提供することです。たとえば、次のスクリプトは次のようになります。

./script.sh TICKET-1234

出力は次のようになります。

The full path is --> /share/data/TICKET-1234/some/other/sub/dir

次のコードを使用してこれを達成しようとしています。

rootPath="/share/data/"
anchorDir="${1}"
restOfPath=$(find /rootPath/$1/ -type d)
#fullPath=rootPath+anchorDir+restOfPath
echo "rest of path is $restofPath"

restOfPath現在は、 ""に私が期待する値が割り当てられていることを確認してください。これはTICKET-1234dirの下に残っているすべてのディレクトリです。ただし、次のような結果が表示されます。

./script.sh TICKET-1234
rest of path is /share/data/TICKET-1234/
/share/data/TICKET-1234/client
/share/data/TICKET-1234/client/region
/share/data/TICKET-1234/client/region/logs/
/share/data/TICKET-1234/client/region/logs/2019

出力(" ")で最後のパスの2番目の部分だけをキャプチャして変数/client/region/logs/2019に割り当てるにはどうすればよいですか?$restOfPath

ありがとう

ベストアンサー1

エラー行3:$前にRootPathがありません。

おすすめ記事