답변:
시험:
$ printf '%s\n' "${FOO//$WORDTOREMOVE/}"
CATS DOGS FISH
이것은 또한에서 작동 ksh93
, mksh
, zsh
.
POSIXLY :
FOO="CATS DOGS FISH MICE"
WORDTOREMOVE="MICE"
remove_word() (
set -f
IFS=' '
s=$1
w=$2
set -- $1
for arg do
shift
[ "$arg" = "$w" ] && continue
set -- "$@" "$arg"
done
printf '%s\n' "$*"
)
remove_word "$FOO" "$WORDTOREMOVE"
단어가 공백으로 구분되고 전후 공백을 제거하는 부작용이 있다고 가정합니다 "$WORDTOREMOVE"
.