насколько я понял, что так, выражение echo $(echo "" || echo bar)
выводит пустую строку. Это вообще, как то не удобно, можно было бы в скрипте написать, типа echo $(echo $1 || echo bar)
, проверив на пустоту аргумента. Ну это ладно.
В общем, как правильно проверить на отсутствие аргумента в скрипте.