個々の変数のパラメータ拡張は期待どおりに機能します。しかし、複数の変数を含むパラメータをどのように拡張しますか?例:
#!/bin/sh
foo=/lorem/ipsum; bar=dolor/sit
tmp="$foo/$bar"
printf '%s\n' "${tmp%/*}"
一時変数なしでこのパラメータ拡張をどのように実行できますか?
ベストアンサー1
拡張には1つの変数しか許可されていないため、一時変数が必要です。ただし、これが正しいユースケースである場合、dirnameは%/ *とほぼ同じ操作を実行するため、適切です。
$ foo=/lorem/ipsum; bar=dolor/sit
$ dirname $foo/$bar
/lorem/ipsum/dolor