是否有Bash相当于Batch的msg *?

时间:2017-10-02 15:34:56

标签: bash batch-file unix

批处理中你可以使用

msg * Hello World

给出一个说出Hello world的小弹出窗口。是否有一个shell脚本命令可以执行相同的操作?

2 个答案:

答案 0 :(得分:3)

没有

bash还没有考虑到GUI。不同的平台上可能有不同的命令,例如:

Cygwin的:

msg '*' Hello World

的MacOS:

osascript -e 'display dialog "Hello World"'

答案 1 :(得分:3)

在Linux上,您可以使用一个名为dialog的(广泛可用的)控制台工具,而不仅仅是一个简单的消息框(如菜单,带复选框的列表,单选按钮,多选对话框,文件列表/选择) ,日期/时间选择,输入框,文本输入等)。通常,交互式安装脚本使用它。

例如,这个:

$serviceApplication = New-AzureRmADApplication -DisplayName <AADApplicationName> -AvailableToOtherTenants $true -IdentifierUris $serviceAppIdUri `


$aad_oAuth2Perm_ReadModel = 
[Microsoft.Open.AzureAD.Model.OAuth2Permission]::New()
$aad_oAuth2Perm_ReadModel.AdminConsentDescription = ($adminConsentDisplay -f  "Model")
$aad_oAuth2Perm_ReadModel.AdminConsentDisplayName = ($adminConsentDisplay -f  "Model")
$aad_oAuth2Perm_ReadModel.Id = [guid]::NewGuid().Guid.ToString()
$aad_oAuth2Perm_ReadModel.IsEnabled = $true
$aad_oAuth2Perm_ReadModel.Type = 'User'
$aad_oAuth2Perm_ReadModel.UserConsentDescription = ($userConsentDisplay -f  "Model")
$aad_oAuth2Perm_ReadModel.UserConsentDisplayName = ($userConsentDisplay -f  "Model")
$aad_oAuth2Perm_ReadModel.Value = "Read.Model"
$aad_oAuth2Permissions.Add($aad_oAuth2Perm_ReadModel) 

Set-AzureADApplication -ObjectId $serviceApplication.ObjectId.Guid.ToString() `                    
-Oauth2Permissions $aad_oAuth2Permissions

会给你:

enter image description here

有关一些很酷的示例,请检查dialog --msgbox 'hello world' 10 30 目录(通过您最喜爱的软件包管理器安装/usr/share/doc/dialog/examples后)。

dialogchecklistformcalendar(进度条)和gauge(文件选择器)如下:

enter image description here enter image description here enter image description here enter image description here enter image description here