Você pode tentar:
vi -- "$(your-script)"
Eu tenho um script linux que gera uma string e a imprime no console. Eu quero essa string para ser o nome de um arquivo e abri-lo para edição no vi. Como isso pode ser feito?
Use o caractere de backtick para escapar do script: (na mesma tecla que o tilde ~ char)
vi './script'
E se a saída tiver espaços que você ainda deseja ver como um único parâmetro:
vi "'./script'"
teste:
vi "'echo This is my new filename.txt'"
Seu script faz isso?
var=somestring
echo $var
Isso imprime simplestring
no console
Mas isso ...
var=somestring
date >$var
criará um arquivo chamado somestring
e colocará a data e a hora nele. Mas talvez você queira ser realmente esperto ...
echo -n What file should I use for the log?
read var
exec >$var 2>&1
date
O -n diz ao echo para não emitir uma nova linha. O comando exec não executa nada, apenas altera a stdout (# 1) e stderr (# 2). O 2 > 1 diz para fazer 2 (stderr) ir para o mesmo lugar que 1 (stdout).