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 Ubuntu外壳脚本_Shell_Ubuntu - Fatal编程技术网

Shell Ubuntu外壳脚本

Shell Ubuntu外壳脚本,shell,ubuntu,Shell,Ubuntu,我有一个shell脚本,应该在ubuntu上运行一个程序。如果我双击它,它会询问我想做什么: 运行终端,显示,取消,运行 如果我选择在终端运行,它工作得很好。但如果我按Run,什么都不会发生。为什么? 以下是脚本: #!/bin/bash rlwrap sicstus 在终端中运行-打开一个新的终端窗口,执行给定的应用程序/脚本,以便查看输出。 运行-在后台执行给定的应用程序/脚本。 因此,在运行脚本时不会得到任何输出。脚本不会启动终端仿真器 如果选择“在终端中运行”,将启动终端仿真器,并将可

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

运行终端,显示,取消,运行

如果我选择在终端运行,它工作得很好。但如果我按Run,什么都不会发生。为什么?

以下是脚本:

#!/bin/bash
rlwrap sicstus
在终端中运行-打开一个新的终端窗口,执行给定的应用程序/脚本,以便查看输出。 运行-在后台执行给定的应用程序/脚本。
因此,在运行脚本时不会得到任何输出。

脚本不会启动终端仿真器

如果选择“在终端中运行”,将启动终端仿真器,并将可执行文件/脚本连接到终端

如果您选择just Run,脚本将尝试从stdin读取并冻结,因为它未连接到终端

这可能会起作用,如果它起作用,则无论您选择在终端中运行还是只运行

#!/bin/sh

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

是一个很棒的站点有没有办法让终端运行成为双击时的默认行为而不是运行?打开Nautilus,然后转到编辑->首选项。打开“行为”选项卡,您将找到在打开可执行文本文件时设置文件管理器行为的选项。了解如何为单个文件设置此选项。请再问一个问题。答案与此无关。这不起作用。它确实没有打开一个终端,但它会立即关闭它。如果RLS不是交互式的,我刚才所做的编辑可能会起作用。