在 Linux 对话框脚本中保持进程对用户不可见

问题描述 投票:0回答:1

我有一个带有对话框脚本的项目,TUI 将在其中运行并且管理员可以处理密码。

我的问题是,例如,当管理员按下changepass时,我希望它运行更改密码的命令,但终端中的进程会在屏幕上弹出一秒钟。 我不希望终端在执行操作时显示。我尝试添加

& and > /dev/null 2>&1
,但没有任何效果。

我尝试使用 & 和 > /dev/null 运行特定命令,但没有改进。

这是我希望它在用户按下更改密码并输入旧通行证、新通行证和当前通行证时运行而不弹出的脚本:

expect <<EOF 
spawn wdpass -c 
expect "Insert the OLD password"
send "$curr_password\r"
expect "Insert the NEW password"
send "$new_password\r"
expect "Confirm the NEW password"
send "$confirm_password\r"
expect eof
EOF
bash dialog expect
1个回答
0
投票

我已经检查过它是否是另一个问题的副本,但事实并非如此。另一个人没有使用dialog tui。当用户按下其他对象时,我也只使用一个简单的命令:

  case $MENY in
        
    1) get_password ;;
            
    2) wdpass -m > /dev/null ;;
            
    3) change_password ;;
            
    4) cd /var/search/printman.sh ;;
            
    5)instruktion ;;
            
    *) clear; exit 1 ;;`

我尝试使用其他帖子中的示例,但这使我的预期脚本无法运行

© www.soinside.com 2019 - 2024. All rights reserved.