欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

改下面的 shell 脚本 ,在 osascript 中 两个按钮,,,确定和取消,并根据点击的按钮,进行是否重启 sudo jamf checkJSSConnection if [ $? -ne 0 ];then (/usr/bin/osascript -e 'display dialog "是否现在重启!" buttons {"OK"} default button "OK"') exit 0 ; fi AG chatgpt 有大用 有大大用

您可以使用 osascript 命令来创建一个包含两个按钮(“确定”和“取消”)的对话框,并根据用户的选择执行重启或不重启。以下是修改后的 Shell 脚本:

bash
# 检查 JSS 连接
sudo jamf checkJSSConnection 
if [ $? -ne 0 ]; then
  # 弹出对话框,询问用户是否重启
  response=$(/usr/bin/osascript -e 'display dialog "是否现在重启?" buttons {"取消", "确定"} default button "确定"')
  
  # 检查用户选择的按钮(如果选择“确定”,则重启,其他情况不做操作)
  if [[ "$response" == *"确定"* ]]; then
    echo "重启中..."
    sudo shutdown -r now  # 执行重启
  else
    echo "取消重启."
  fi
  
  exit 0
fi

代码解析

  1. JSS连接检查

  • 使用 sudo jamf checkJSSConnection 检查 JSS 连接,并通过 $? 获取命令的退出状态。

  • 对话框显示

    • 如果 JSS 连接检查失败(即 $? -ne 0),则使用 osascript 创建一个包含“取消”和“确定”按钮的对话框。用户可以选择这两个选项。

  • 响应处理

    • 通过 response 变量获取用户的选择。如果用户选择“确定”,脚本将执行重启命令 sudo shutdown -r now。如果用户选择“取消”,则打印“取消重启.”

  • 退出脚本

    • 使用 exit 0 结束脚本。

    您可以根据需要进一步调整对话框的文本和按钮内容。确保在执行此脚本的环境中用户有足够的权限来执行 sudo 命令。


    普通分类: