iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 18
0
自我挑戰組

30 天的 ShellScript 教室解決開發者的困擾系列 第 18

[鐵人賽第18天] 宣告 function 來用吧

  • 分享至 

  • xImage
  •  

今天來講個 Bashzsh 才能用的偷懶技巧。

比較常用的偷懶指令,我會放在 ~/bin 裡面,並且把 ~/bin 加入 PATH 方便我偷懶,像是裡面有個檔案叫做做 fb2k ,這樣在 Linux 裡面要開啟 foobar2000 聽音樂時,就不用手動點一堆路徑去呼叫 foobar2000 ,只要打 fb2k 就可以叫出 foobar2000。

不過有些東西,可能只是暫時用一下,但是又不想複製貼上很多次,要怎麼做呢?

function myFunction() {
    echo login...
    RES=`curl http://localhost/api/login`
    echo using `sed s/token: //g` as token to test API
}    

就這樣,直接把上面那一堆輸入在終端機裡面,之後就可以直接執行 myFunction 囉。不過在 sh 下並不支援 function ,所以只能這樣宣告:

myFunction="echo login...; curl http://localhost/api/login | sed s/token: //g"

使用時則是直接輸入 $myFunction 就可以呼叫了,是的 Shell 裡面完全沒有防止被注入 ( injection ) 的機制,不過因為可以操作 Shell 肯定都是有一定權限,所以這通常不是什麼大問題... 對吧?


我是誰?
我是 dd-han ,可以叫我呆翰,是國立臺中科技大學的延畢生 與 創科資訊的時習生。


上一篇
[鐵人賽第17天] find 指令的使用
下一篇
[鐵人賽第19天] Shell 裡面的 args -$0 $1 $* $@
系列文
30 天的 ShellScript 教室解決開發者的困擾23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言