I have been trying to use something like a continued alias (space following the expansion).
So I have several modifies on a var my -a -i -x foobar=(1 2 3) my -p foobar declare -aix foobar=([0]="1" [1]="2" [2]="3") That's what I am wanting, But trying various aliases, I'm not getting consistent results: With these aliases: alias my='declare ' alias Export='-x ' alias Map='-A ' alias Int='-i ' my Export Map Int ffffe=([one]=1) -bash: declare: `-x': not a valid identifier -bash: declare: `-A': not a valid identifier -bash: declare: `-i': not a valid identifier But: this does: declare -x -A -i foo7=([one]=1 [two]=2)> my -p foo7 my -p foo7 declare -Aix foo7=([two]="2" [one]="1" ) Part of it appears to be the word Export in a declaration -- will tend to ignore other things, but using the flag -x, will set the flag w/no error. So why do aliases of '-x ' not work where a bare '-x' do?. Annoying is when you get some error trying to create a map, -- then the var will be created as an array, which, if you don't catch it makes future attempt to create a map of the same name fruitless.