I\'m trying to execute the following commands:
mkdir \'my dir\' CMD=\"ls \'my dir\'\" RESULT=$($CMD)
This results in:
ls: \'my:
Solution 1: Use sh -c
sh -c
mkdir 'my dir' CMD="ls 'my dir'" # careful: your example was missing a ' RESULT=$(sh -c "$CMD")
Solution 2: Declare CMD as an array
CMD
mkdir 'my dir' CMD=(ls 'my dir') # array with 2 elements RESULT=$("${CMD[@]}")