Ash Vs Bash

Daniel Quinn@lemmy.ca to Linux@lemmy.ml – 34 points –

[For reference, I'm talking about Ash in Alpine Linux here, which is part of BusyBox.]

I thought I knew the big differences, but it turns out I've had false assumptions for years. Ash does support [[ double square brackets ]] and (as best I can tell) all of Bash's logical trickery inside them. It also supports ${VARIABLE_SUBSTRINGS:5:12}` which was another surprise.

At this stage, the only things I've found that Bash can do that Ash can't are:

  • Arrays, which Bash doesn't seem to do well anyway
  • Brace expansion, which is awesome but I can live without it.

What else is there? Did Ash used to be more limited? The double square bracket thing really surprised me.

10

You are viewing a single comment

You should put some quotes where you use the array:

not_what_you_think=( "a b" "c" "d" )
for sneaky in "${not_what_you_think[@]}"; do
  echo "This is sneaky: ${sneaky}"
done

This is sneaky: a b
This is sneaky: c
This is sneaky: d

Aaaaah! Thank you kind stranger. It never would have occurred to me to quote an array!