切換 Skype 通知狀態

切換 Skype 通知狀態

可以透過以下方式更改聯絡人是否在線上/離線的通知Skype選項或透過~/.skype/your_skype_id/config.xml.在此文件中,根據您的選擇,可以找到以下行:

<Notify>
  <Chat>0</Chat>
  <Offline>1</Offline>
  <Online>1</Online>
</Notify>

其中<Offline>n</Offline>(resp. <Online>n</Online>) 對應於“聯絡資訊已離線”(分別。“聯絡方式已上線”) 選項,其中n明顯說明它是否打開。

因此我的問題如下:可以自動開啟/關閉通知嗎?

請務必注意,OfflineOnline僅在文件中出現一次XML

到目前為止我能做的就是:

sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'

行號在哪裡197(取決於大小寫,因此非常糟糕),並且在我不檢查通知的現有狀態的情況下,我只是將其關閉。


簡而言之,我想做的就是自動將兩行更改01(或1更改為)。0

答案1

這聽起來像是 bash/shell 腳本的工作。

我想要的是使用 grep 建立一個簡單的 if 語句來搜尋檔案中的 1 或 0,然後使用您擁有的命令來取代它們。說:

if grep -q "<Online>1</Online>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'

elif grep -q "<Online>0</Online>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>0</Online>!<Online>1</Online>!'
fi

if grep -q "<Offline>1</Offline>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'

elif grep -q "<Offline>0</Offline>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>0</Online>!<Online>1</Online>!'
fi

並將其放入 run.sh 或其他文件中。

相關內容