軟件開發中兩個重要的工具是 打補丁 y 變化。 它們的工作原理並不神秘,但我認為這將是一篇有趣的文章。 🙂
兩者都非常強大,這只是表面現象,它們還有更多實用程序和其他功能。 基本上用這兩個工具我們可以創建版本控制,
變化
我們指的是比較,它將“原始”文件與“新”文件進行比較,並告訴我們它們之間存在的差異。 該工具還允許我們創建 .patch 文件,我們可以使用它來為我們的程序創建補丁。
打補丁
這是我們從字面上“修補”原始文件的命令,根據 .patch 文件中包含的說明添加和/或刪除行。
也有 維姆迪夫,這是一個無需 .patch 文件即可應用補丁的可視化工具,因為它會比較“原始”和“新”,並且可以在同一文件上逐行或整個文檔進行編輯。 我不會解釋這一點,但我認為值得一提。
例子
現在有趣了。 例子!
是這樣的,我們有一個很酷的腳本,它會詢問你的姓名和年齡,如果你超過 18 歲,它會告訴你可以投票,否則它會告訴你不能投票。
原始.sh
#!/bin/bash echo "輸入你的名字:" read name echo "輸入你的年齡:" readage if [[ 18 -lt $age ]] then echo "你好$name,你是$age,你可以投票! ” else echo "Hello $name, you are $age and can't vote..." fi
完成,這是運行腳本:
所以,我們是好用戶,我們將腳本分享給朋友:),但是我們收到一條消息,說它有一個錯誤,當它是 18 時,它說它不能投票,而它應該投票。
現在我們開始糾正這個小錯誤並進行一些修改......
新的.sh
#!/bin/bash maxAge=18 echo "輸入你的名字:"; read name echo "請輸入您的年齡:"; 讀取年齡 if [[ $maxAge -le $age ]]; 然後 echo“你好 $name,你已經 $age 歲了,你可以投票了!” else echo "你好 $name,你已經 $age 歲了,不能投票..." fi exit 0
假設腳本非常重。 因此,為了不再發送整個腳本,我們創建了一個 .patch 😀
$ diff -u original.sh new.sh > patch.patch
現在我們有了補丁。 這是一個視圖 VIM:
為了應用它,我們只需使用腳本中的 .patch 文件來進行修補。 這裡叫做 原始Amigo.sh,這是腳本的精確副本 原始.sh
$補丁originalFriend.sh < patch.patch
這留下了我們的文件 原始Amigo.sh 所以:
正如您所看到的,獲取差異並應用補丁非常容易。 這一切都來自於我。
大家好,我們下週五讀書。
太好了,非常感謝你 🙂
如果你想要一些顏色,請使用 colordiff ^__^
現在我了解了 Debian 中的補丁是如何工作的。
您好,我知道可以通過控制台的通知發送來顯示系統通知,但我想做的是能夠安排在什麼時間或多長時間向我顯示通知,有辦法做到嗎? 我使用elementary,它基於Ubuntu 12.04,如果有幫助的話,謝謝
嗯,可以使用系統 cron 來完成😉
怎樣才能做到這一點? 我剛剛學會瞭如何使用notify-send命令
你可以在博客上搜索 cron,有很多關於它的帖子 🙂
非常好謝謝!
我總是用它來更新內核,我只是下載補丁並應用到源代碼,所以我不必每個版本下載 80mb。