1
shell參數含有空格時,直接傳參會被當成兩個參數,注意加轉義符號
a="1 2"
錯誤: wc $a
正確: wc "$a"
2
java中finally的執行順序,一定會執行(除非整個JVM崩潰了,try中有return也照樣執行)
finally語句是在try的return語句執行之後,return返回之前執行
不建議在finally中使用return語句
finally塊的語句在try或catch中的return語句執行之後返回之前執行且finally裏的修改語句可能影響也可能不影響try或catch中 return已經確定的返回值,若finally裏也有return語句則覆蓋try或catch中的return語句直接返回
return只是先把值保存到一個變量中。return的時候是複製了一個變量然後返回,所以之後finally操作的變量如果是基本類型的話不會影響返回值。 但是如果返回值是引用類型的話,因爲指向同一個對象所以還是有影響的。
參見敏敏博客
3
grep進程技巧,不包括自身
ps -ef | grep '[j]ava'
正則中[j]ava==java,但grep對應的進程就是[j]ava,所以不會被結果包含
ps -ef | grep java | grep -v grep