Tuli vastaan juttu jota en ymmärrä.
Jos suoritan bash-komentorivillä tämän: if [ -t 1 ] ; then echo true ; else echo false ; fi
niin se tulostaa true. Mutta jos suoritan tämän: echo $(if [ -t 1 ] ; then echo true ; else echo false ; fi)
niin se tulostaakin false. Miten siinä niin käy? Minulla onkomentotiedostossa toinen samantyyppinen kohta, jossa if-lauseen ehtona on case-esac, ja siinä if toimii odotuksen mukaisesti, mutta tätä yksinkertaisempaa en vaan saa toimimaan.
Juu, toki sen asian voi koodata toisellakin tavalla, mutta haluaisin silti ymmärtää mistä on kyse.