【问题标题】:Assigning set of commands to buttons created using Zenity将一组命令分配给使用 Zenity 创建的按钮
【发布时间】:2019-12-13 07:35:57
【问题描述】:

我想使用 Zenity 创建一个 GUI。

我想要一个 GUI 中的所有以下选项:

  1. 添加一个按钮 => 如果单击按钮,则能够执行一组 Unix 命令(获取包含 Unix 命令的文件);
  2. 添加清单 => 假设 option1 是一个变量,它的值可以是 a,b,c,d 然后它的值可以通过清单设置为 abcd .
  3. 使用 Zenity 执行 Unix 的 ifelse 命令。

我尝试了以下方法:

#!/bin/sh
zenity --question --text="Ref/?" rc=$?
if [ "${rc}" == "1" ]; then
    setenv REF 1
fi 
setenv REF 0

输出是:

rc=0: Command not found.
rc: Undefined variable.
`$REF: Undefined variable`

但我希望 $REF 设置为 10

【问题讨论】:

  • 到目前为止你有什么尝试?
  • 欢迎来到 Stackoverflow。请提供一个最小示例来重现您的问题。
  • 添加了必填信息@octobus

标签: linux unix zenity


【解决方案1】:

这是另一种选择:

#!/bin/sh
export REF=0
# If user press Yes, set REF to 1
if zenity --question --text="Ref/?"; then
    REF=1
fi

如果按下按钮NoREF 将被设置为0,否则,它将被设置为1。您需要根据脚本中的逻辑对其进行调整。

【讨论】:

  • 我尝试获取代码,但出现以下错误:export: Command not found。 if:表达式语法。
【解决方案2】:

小错误。假设 bash/dash 作为默认 shell。

#!/bin/sh
zenity --question --text="Ref/?"
set rc=$status
if ("${rc}" == "1" ] ) then
    setenv REF 1
else
    setenv REF 0
end

【讨论】:

  • 它仍然不适合我。我遇到了同样的错误
  • 请使用“set -x”运行并共享输出
  • 我没有得到你。如何设置 x ?
  • 当前错误是:rc=1:找不到命令。 rc: 未定义的变量。
  • 还有一件事,我想设置 $REF 一个变量,因为我想稍后在我的脚本中使用它
猜你喜欢
  • 2016-11-30
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 1970-01-01
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多