如何在Mac中使用终端设置Chrome标记?

时间:2017-06-07 17:19:05

标签: python json macos sed grep

我正在尝试编写一个bash脚本,将Chrome中的Max TLS版本更新为1.3。这就是我的脚本目前的样子:

#!/bin/bash -x
consoleuser=`ls -la /dev/console | cut -d " " -f4`
string='browser.*max@2'
echo "Current user: ${consoleuser}"
echo "Closing Google Chrome.."
sleep 2
pkill Chrome
cd /Users/$consoleuser/Library/Application\ Support/Google/Chrome
echo "Current directory: " && pwd
if [ ! -f "/Users/"$consoleuser"/Library/Application Support/Google/Chrome/Local State" ]; then
     echo "Local State file not found. Relaunch Chrome to create the file"
else
    while true; do
        if grep -q "$string" "/Users/"$consoleuser"/Library/Application Support/Google/Chrome/Local State"; then
            echo "Max TLS set to 1.3"
            break
        else
            sed -i '.bak' -e 's|\(\"browser\"\):{\(\".*origin\":\"\"\)}|\1:{\"enabled_labs_experiments\":[\"ssl-version-max@2\"],\2}|' /Users/$consoleuser/Library/Application\ Support/Google/Chrome/Local\ State
            if ! grep -q "$string" "/Users/"$consoleuser"/Library/Application Support/Google/Chrome/Local State"; then
                echo "TLS configuration not found. Retrying.."
            fi
        fi
    done
fi
sleep 2
exit

目标是追加

"enabled_labs_experiments":["ssl-version-max@2"]

到这个

{"browser":{"last_redirect_origin":""}

让它看起来像这样

{"browser":{"enabled_labs_experiments":["ssl-version-max@2"],"last_redirect_origin":""}

将sed置于循环中的原因是它需要在某些计算机上至少运行两次 sed 才能对文件进行实际更改。但是,出于某种原因,此脚本在某些计算机上运行,​​并且无法对其他计算机进行更改。不确定我在这里做错了什么。

任何有关此脚本有效或获得类似结果的见解/帮助/指示/文章都将受到高度赞赏!

  

供参考:@ 1 = TLS1.2和@ 2 = TLS1.3

谢谢!

修改

在阅读下面的评论后,我了解到python可用于编辑JSON文件,因为 jq 不是Mac的原生。但是,我不知道从哪里开始。如果有人能帮助我,或者指出我正确的方向,我将非常感激。

0 个答案:

没有答案