Ubuntu shell脚本

时间:2016-10-14 15:09:25

标签: shell ubuntu

我有一个shell脚本应该在ubuntu上运行程序。如果我双击它,它会问我想做什么:

在终端中运行,显示,取消,运行。

如果我选择Run in terminal,它可以正常工作。但如果我按Run,则没有任何反应。为什么呢?

这是脚本:

Wrapper<Person> wrapped = objectMapper.readValue(jsonStream,Wrapper.class);

2 个答案:

答案 0 :(得分:2)

Run in terminal - 打开一个新的终端窗口并执行给定的应用程序/脚本,以便您可以看到输出。
Run - 在后台执行给定的应用程序/脚本 因此,运行脚本时不会得到任何输出。

答案 1 :(得分:1)

脚本无法启动终端模拟器。

如果您选择&#34;在终端&#34;中运行,则启动终端仿真器并将可执行文件/脚本连接到终端。

如果您选择&#34;运行&#34;,脚本将尝试从stdin读取并冻结,因为它未连接到终端。

这可能有用,如果确实如此,那么如果你选择&#34;在终端中运行&#34;或者只是&#34;运行&#34;。

#!/bin/sh

if [ -z "$TERM" ]; then
    x-terminal-emulator -e "bash -c 'rlwrap sicstus; echo Press any key; read'"
else
    rlwrap sicstus
fi