- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Whiptail 制作一个进度条,它可以正确跟踪 wget ping 的进度。
我的目标是创建一个脚本,通过对 google.com 执行 ping 命令来测试您的互联网,当发生这种情况时,它会使用 whiptail 向您显示进度,然后如果您可以上网,它会向您发送一个 msgbox,否则它将向您显示是或否的 whiptail,它会询问您是否要继续。
我目前的尝试:
#!/bin/bash
#Make ping and display proces
#Progres bar GUI using whiptail(Native Gui)
while true do
# Check internet status, ping google.com
wget -q --tries=20 --timeout=10 --spider http://google.com
done| whiptail --title "Internet Validation" --gauge "${ping}" 6 60 0
#If for validating Internet conexion
if [ $? -eq 0 ]; then
#If succes int variable change to Online
int="Online"
#And Whiptail GUI disaply confimacion box
whiptail --title "Succes" --msgbox "Internet Status: $int. Choose Ok to continue." 10 60
#Internet validation opcion for when there is not internet
else
#Int Variable change to Offlien
int="Offline"
#Whiptail display Internet Status: Offline and ask if it whants to continue
if (whiptail --title "Conexion Error" --yesno "Internet Status: $int, Continue?" 10 60) then
#Function to install Nos Software
$(function)
else
#Whiptail display installetion cancel
whiptail --title "Installation" --msgbox "The Installation has been cancel." 10 60
fi
fi
#Save in logfile Status of internet
echo "`date -u` 'Internet Status: $int'" >> logfile.txt
最佳答案
我找到了一个可行的方法
更新的解决方案
#!/bin/bash
#Progres bar GUI using whiptail(Native Gui)
{
#Start progress bar in 0
i="0"
# Maximum number to try.
((count = 100))
#Make ping and display proces
while [[ $count -ne 0 ]] ; do
# Check internet status, ping google.com; ping once
ping -c 1 google.com
rc=$?
# If okay, flag to exit loop.
if [[ $rc -eq 0 ]] ; then
((count = 1))
fi
# So we don't go forever.
((count = count - 1))
#For progress bar
sleep 1
echo $i
i=$(expr $i + 1)
done
# If it is done then display 100%
echo 100
# Give it some time to display the progress to the user.
sleep 2
#Display Ping progress bar
} | whiptail --title "Internet Validation" --gauge "validating Conexion" 6 60 0
#If for validating Internet conexion
if [ $? -eq 0 ]; then
#If succes int variable change to Online
int="Online"
#And Whiptail GUI disaply confimacion box
whiptail --title "Succes" --msgbox "Internet Status: $int. Choose Ok to continue." 10 60
#Internet validation opcion for when there is not internet
else
#Int Variable change to Offlien
int="Offline"
#Whiptail display Internet Status: Offline and ask if it whants to continue
if (whiptail --title "Conexion Error" --yesno "Internet Status: $int, Continue?" 10 60) then
#Function to install Nos Software
$(function)
else
#Whiptail display installetion cancel
whiptail --title "Installation" --msgbox "The Installation has been cancel." 10 60
fi
fi
#Save in logfile Status of internet
echo "`date -u` 'Internet Status: $int'" >> logfile.txt
关于linux - Bash Whiptail ping 进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33658935/
我想使用“whiptail”包在屏幕上同时生成菜单框和输入框。这可能吗?或者也许有对话?我找不到这方面的任何例子。 我想要这样的东西:菜单项 1菜单项 2菜单项 3 如果以上都不是,请输入您自己的:输
这是根据文件变量中的文件内容打开一个 whiptail 消息框的代码。该文件有很多行。 $(whiptail --title "Opening file" --yesno "$(cat $file)"
如何使用输入文件 file.data 配置 whiptail 对话框? whiptail --menu "foo" 0 0 0 2>/tmp/out file.data的内容: "01" "Item
我正在尝试使用“whiptail”向用户显示进度,同时删除一些 RPM。使用 { echo 25 yum remove package_name echo 50 yum remove pack
为什么这段代码在 Bash 中不起作用? whiptail --infobox "My Text" 0 0 手册指出: whiptail --infobox text height width 怎么了
我正在尝试切换到一个目录并在我的 whiptail 对话框屏幕中运行其他命令,但是在克隆我的 git 存储库之后,我的脚本似乎在尝试切换到该目录时快死了: STATUS=0 touch log.txt
我想在 whiptail 界面中显示一个实时变量的值。我像那样增加变量 = #!/bin/bash i=1 while test $i -ne 51 do echo "$i" i=$(
我找到了一个很棒的小程序,可以让我将用户友好的 GUI 添加到我的 Bash 脚本中; 鞭尾 然而 whiptail man page不是那么有帮助,也没有提供任何示例。在进行了一些谷歌搜索后,我了解
我使用 whiptail 创建了一个 bash 程序,为用户提供图形界面来设置他们的系统。由于某种原因,我的脚本没有运行我的任何 bash 命令,相反它似乎循环输出到我的 log.txt 文件,但没有
我想用whiptail password询问你的sudo password然后用它来运行sudo script.sh这样可以吗? 我已经尝试过使用 whiptail 输入密码的 sudo 命令 sud
我正在尝试使用 Whiptail 制作一个进度条,它可以正确跟踪 wget ping 的进度。 我的目标是创建一个脚本,通过对 google.com 执行 ping 命令来测试您的互联网,当发生这种情
我正在创建一个在我的树莓派上运行的 shell 脚本。在此过程中,我试图简化一些重复的代码,并且我想为 whiptail 函数制作一个包装器,如下所示。 function yesno() { an
我想通过将一些 PYTHON 代码的输出传递给“whiptail”,在 headless Linux 服务器上使用 TUI(文本用户界面)。不幸的是,鞭尾鱼似乎什么也没发生。当我通过管道从常规 she
我试图通过鞭尾的信息框来表示日志文件。唯一的挫折是我不想向下滚动数百行日志。有没有办法让滚动条自动走到框的末尾? 感谢您的帮助。 最佳答案 鞭尾似乎没有办法做到这一点。我也很高兴知道是否有人能成功。不
我正在使用 whiptail 创建一个虚拟机配置脚本,我希望它在用户登录后自动启动。问题是,我不希望用户成为 root,但是因为用户会需要能够更改主机名、IP 地址、添加目录等内容。他们需要 sudo
有两个 Linux 命令行程序( whiptail 和 dialog )可以向用户显示文本 UI。我想从我的 Java 应用程序中调用其中一个(最好是 Whiptail),以便用户可以从预定义列表中选
有人可以解释为什么下面的代码不起作用吗?我快要发疯了。 #!/bin/bash TEST="M1 \"1-wire Interface\" ON" echo $TEST RESULT=$(dialog
因此,我必须设置多个服务器,每个服务器都需要 mysql-server。我决定编写一个 shell 脚本来输入 whiptail,这需要用户输入密码。我写了 bash 脚本,但是当它到达 whipta
我是一名优秀的程序员,十分优秀!