【问题标题】:How do I make ```zenity --password``` input into a variable?如何将 ```zenity --password``` 输入到变量中?
【发布时间】:2021-05-28 01:56:13
【问题描述】:

如何将zenity --password 输入到变量中?

我正在使用zenity --password 来获取用户的输入,并尝试将其保存为变量。

以下是我尝试过的一些命令:

  1. var=${zenity --password};
  2. zenity var=--password
  3. var=zenity --password

这些都不起作用。

错误代码:

我收到命令 #2 和 #3 的错误代码。 命令 #2 错误代码是:

You must specify a dialog type. See 'zenity --help' for details

命令 #3 错误代码是:

-bash: --password: command not found.

我对 bash 不是很熟悉,我只知道一些基本命令。 --password 命令来自 Zenity (sudo apt-get install zenity)。如果有人回答,谢谢您的帮助!

链接

Zenity 手册 - https://help.gnome.org/users/zenity/stable/

密码命令 - https://help.gnome.org/users/zenity/stable/password.html.en

【问题讨论】:

  • var=$(zenity --password)

标签: bash shell terminal zenity


【解决方案1】:

-S (stdin) 选项使 sudo 从标准输入读取密码 而不是终端设备。密码后面必须跟一个换行符 字符。

zenity --password | sudo -S some_app_here

例子

#!/bin/bash

PASSWORD=$(zenity --password)
echo $PASSWORD | sudo -S "command"

echo $PASSWORD | sudo -S "command"

exit

【讨论】:

    猜你喜欢
    • 2016-02-01
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    相关资源
    最近更新 更多