There are two fixes:
1. Use an older (1.x) version of bash. To do this, just name the old binary
something like /usr/local/bin/oldbash. Then, change the first line of makewhatis
to read:
#!/usr/local/bin/oldbash
2. Make a simple fix to the script that will let it run with bash 2.x. There
are three lines in the script which use eval statements, each of which looks
similar to this:
eval $topath=$"$topath":$name
You need to add in a \ before the second $ to delay the evaluation of that
dollar sign until the eval actually processes it. The example line would look
like this:
eval $topath=\$"$topath":$name
Either of those will allow the script to run normally.
chuck@athera.ml.org |