連絡先がオンライン/オフラインであるかどうかに関する通知は、次の方法で変更できます。スカイプオプションまたは via を使用して、~/.skype/your_skype_id/config.xml
このファイルの選択内容に応じて次の行を見つけることができます。
<Notify>
<Chat>0</Chat>
<Offline>1</Offline>
<Online>1</Online>
</Notify>
ここで<Offline>n</Offline>
(それぞれ<Online>n</Online>
)は次のようになります。「連絡先情報がオフラインです。」(それぞれ。「連絡先情報はオンラインです。」)オプションがオンn
になっているかどうかを明示的に示します。
だから私の質問は次のとおりです。通知を自動的にオンまたはオフにできますか?
Offline
はOnline
ファイルに一度だけ表示されることに注意することが重要ですXML
。
これまで私ができることは次のとおりです。
sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'
行番号はどこにあり197
(場合によっては非常に悪い)、通知の既存の状態を確認せずに単にドラッグします。
簡単に言えば、私がやりたいことは、自動的に2行を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や他のファイルに入れてください。