Используемый вами вопрос
command2 $(command1 > file.txt)
tee
каналы хороши, но если я правильно это прочитал, command2
ожидает имя файла? Если это так, возможно, вы можете использовать
command2 <( command1 )
Если вам также нужен файл, тогда tee
внутри конструкции -
command2 <( command1 | tee file.txt )
Если для каких-то странных причина, по которой он абсолютно требует ИМЯ файла (не могу понять почему), тогда вы всегда можете попробовать это в крайнем случае -
command2 "$( command1 > file.txt && echo file.txt )"