Le code ci-dessous ne fonctionne pas comme je l'espère. C'est peut-être parce que je m'y prends mal, mais je pense qu'il s'agit d'un problème de citation.
#!/bin/bash
IFS=$'\n'
fortune_lines=($(fortune | fold -w 30))
Screen_Session=$(mainscreen)
Screen_OneLiner=$(screen -p 0 -S ${Screen_Session} -X stuff "`printf "say ${fortune_lines[@]}\r"`")
for var in "${Screen_OneLiner[@]}"
do
echo "${var}"
done
Je pense que je ne cite pas quelque chose correctement parce que lorsque j'essaie d'exécuter ceci. J'obtiens
line 5: mainscreen: command not found
[screen is terminating
Essentiellement, j'essaie d'ajouter cette fonction (qui fonctionne)
IFS=$'\n'
fortune_lines=($(fortune | fold -w 30))
A cet écran, une seule ligne
screen -p 0 -S ${Screen_Session} -X stuff "`printf "say ${fortune_lines[@]}\r"`"
Ensuite, faites-lui boucler le tableau
for var in "${ArrayName[@]}"
do
echo "${var}"
done
Je ne suis donc pas sûr de la distance qui me sépare (dans le code) de ce que j'essaie de faire. Toute aide serait la bienvenue.