讓你的終端更有趣——一句話心情

這幾天沒事的時候我就在想,平時的學習生活中,腦子裡總會時不時冒出一些奇奇怪怪的點子,或是幾句感慨,幾句抱怨,或是你那是有點奔放的小心情。

我的Github: github.com/jeasonstudio

獲取我們應該找個法子把它記錄下來。

於是我寫了一個十幾行的 shell 腳本,每當我打開終端的時候,它就像整點的鬧鐘如約而至。文章最後,我會分享幾個我在 macOS 上踩到的坑。先看 DEMO:

打開的時候是很弱智的提示語,然後你把你腦子裡想的 SHIT 打上去,注意,oneLineFeeling只有一行的機會哦~

然後他會自動把內容提交 GIT 倉庫。十秒鐘,完成。再看看 GitHub 倉庫里。

這就是最終效果,積累到一定程度的時候就可以做一些數據分析了。接著看一下源碼:

#! /bin/bashnncd ~/Documents/awesome-Jeasonn #找到你的倉庫,從 GitHub clone 來的nnecho Hi,Jeason.今天心情如何?nsend=`date +%Y年%m月%d日 %H:%M`n #獲取系統時間nread feelingn #讀取用戶輸入nnstr="├────**"${feeling}"**"n #拼接字元串nnsed -i .bak 7 in<br />|n oneLineFeeling.mdn #在指定位置插入字元串nnsed -i .bak 7 i n<br />"$str"n oneLineFeeling.mdnnsed -i .bak 7 i n<br />├──"$send"n oneLineFeeling.mdnngit commit -am "$send push"n #commit 代碼ngit pushn #提交代碼nncd ~n

代碼很簡單,看注釋就可以懂得,有心的朋友可以沿著這個思路搞一搞。

下面說一下 MacOS 和 Linux 下 shell 命令的不同之處。

  • sed 命令在 Linux 下備份是可選項,然而在 mac 下是必選項,不然會報錯。比如我在用的時候:sed -i "s/需要匹配的字元串/替換的字元串/g" 在 Linux 下可行,在 mac 下需要寫成:sed -i "s/需要匹配的字元串/替換的字元串/g" or sed -i .bak "s/需要匹配的字元串/替換的字元串/g",也就是說必須要備份才可以。(可以選擇留空)
  • 在 Linux 下用 sed 匹配替換換行符或者製表符是沒有問題的,但在 mac 下就不成功,需要一些辦法來委婉的解決掉,比如<br />。(並不通用,視情況而定)

推薦閱讀:

【收藏】圖解GitHub基本操作
Python 的數學仙境之旅
github 和 sourceforge有什麼區別?
從什麼都不懂開始(二)——創建Project提交到Github需要做什麼
為什麼使用 Git 和 Dropbox 來做版本管理,直接用 Dropbox 來做不行嗎?

TAG:Shell编程开发 | GitHub | 心情 |