我试图编写一个bash脚本来处理从xsel传输的数据。
...
ary=()
while read data; do
echo $data
ary=( "${ary[@]}" "$data" )
done
问题是我打电话时没有看到任何内容:
xsel | myscript.sh
我试过了
echo "testing testing" | myscript.sh
这是有效的,我也确保有来自xsel的东西
xsel | festival --tts --pipe
# will read the clipboard string piped from xsel aloud
有什么建议吗?提前致谢
答案 0 :(得分:6)
read
如果无法读取整行,则会失败,xsel
不会输出换行符。
用以下代码替换你的循环:
readarray ary # new in Bash 4
如果您只是将数组中的行添加为代理,以便将所有数据粘贴到变量中,您可以改为:
input=$(cat)