Die folgenden Befehle scheinen ungefähr gleichwertig zu sein:
read varname
varname=$(head -1)
varname=$(sed 1q)
Ein Unterschied ist, dass read
eine Shell eingebaut ist head
und sed
nicht.
Gibt es außerdem einen Unterschied im Verhalten zwischen den drei?
Meine Motivation ist es, die Nuancen der Shell und der wichtigsten Dienstprogramme wie besser zu verstehen head,sed
. Wenn die Verwendung head
beispielsweise ein einfacher Ersatz für ist read
, warum gibt read
es sie dann als integrierte Funktion?
read
Parameter analysiert werden können, die durch das interne Feldtrennzeichen getrennt sind$IFS
. @ rameshsstrace
Trick ist auch eine großartige Möglichkeit, Unterschiede zu analysieren.