0
#!/bin/bash
#OLDIFS=$IFS
IFS=$'\r'
    fortune_lines=($(fortune | fold -w 90))

    #Screen_Session=$"{mainscreen}"
        Screen_Session=`screen -ls|grep "\."|grep "("|awk '{print $1}'`
    Screen_OneLiner=$(screen -p 0 -S ${Screen_Session} -X stuff "`printf "${fortune_lines[@]}\r"`")
#IFS=$OLDIFS;
    for var in "${Screen_OneLiner[@]}"
      do
         echo    "${var}"
    done

このスクリプトは機能します(ちょっと)。配列インデックス全体の前に文字列「say」を付ける必要があります。現在、最初の行に「say」を出力することしかできません。

4

1 に答える 1

0

We need not complicate things with contraptions like arrays - we can let good old sed do the job.

#!/bin/bash
fortune_lines=$(fortune | fold -w 90 | sed 's/^/say /')
Screen_Session=`screen -ls|grep "\."|grep "("|awk '{print $1}'`
screen -p 0 -S $Screen_Session -X stuff "$fortune_lines"
于 2013-09-06T13:27:23.653 に答える