
可以透過以下方式更改聯絡人是否在線上/離線的通知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
明顯說明它是否打開。
因此我的問題如下:可以自動開啟/關閉通知嗎?
請務必注意,Offline
和Online
僅在文件中出現一次XML
。
到目前為止我能做的就是:
sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'
行號在哪裡197
(取決於大小寫,因此非常糟糕),並且在我不檢查通知的現有狀態的情況下,我只是將其關閉。
簡而言之,我想做的就是自動將兩行更改0
為1
(或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 或其他文件中。