Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 将输出重定向到其他窗口_Shell_Escaping_Pipe_X11_Xterm - Fatal编程技术网

Shell 将输出重定向到其他窗口

Shell 将输出重定向到其他窗口,shell,escaping,pipe,x11,xterm,Shell,Escaping,Pipe,X11,Xterm,在我的脚本中,我想打开一个新窗口来显示变量的内容。我有两个不成熟的想法: 类似于printf“%s\n”$data“| xterm-e less(不起作用)。是否可以以某种方式重定向输出,或者我必须使用临时文件 类似于xterm-e'printf“%s\n”“$data”“| less”,但如果$data包含需要转义的内容,则会导致问题 尝试此等效示例(添加空格,只是为了显示单引号字符串连接的方式): 结果: printf "%s\n" "$data" | less 这就是xterm将看到的(

在我的脚本中,我想打开一个新窗口来显示变量的内容。我有两个不成熟的想法:

  • 类似于
    printf“%s\n”$data“| xterm-e less
    (不起作用)。是否可以以某种方式重定向输出,或者我必须使用临时文件

  • 类似于
    xterm-e'printf“%s\n”“$data”“| less”
    ,但如果
    $data
    包含需要转义的内容,则会导致问题


  • 尝试此等效示例(添加空格,只是为了显示单引号字符串连接的方式):

    结果:

    printf "%s\n" "$data" | less
    

    这就是xterm将看到的(就像上面的echo一样)。

    尝试这个等效示例(添加空格,只是为了显示单引号字符串连接的方式):

    结果:

    printf "%s\n" "$data" | less
    

    这就是xterm将看到的(就像上面的echo一样)。

    使用
    xless
    xmore
    xmessage
    ,具体取决于您安装的是哪个

    请尝试以下任一方法:

    printf“%s\n”“$data”| xless

    printf“%s\n”“$data”| xmore/dev/stdin


    printf“%s\n”“$data”| xmessage-file-

    使用
    xless
    xmore
    xmessage
    ,具体取决于您安装的文件

    请尝试以下任一方法:

    printf“%s\n”“$data”| xless

    printf“%s\n”“$data”| xmore/dev/stdin


    printf“%s\n”“$data”| xmessage-file-

    如果$data有一个
    ,我的示例2将失败。如果$data有一个
    ,我的示例2将失败。