天天看點

shell 如何實作i++操作以及字元串截取操作

這幾天有個bug纏繞了我半天,于是就有了本文章。

觸摸屏因為加了個筆記本鍵盤後不能用了,摘掉筆記本鍵盤後,觸摸屏又可以用了,真是見鬼了。

稍微研究一看,原來是加了筆記本鍵盤後導緻TP驅動的裝置節點改變了,比如說,以前是event4,加了筆記本鍵盤後event6,導緻應用程式使用的裝置節點跟TP驅動不比對。

于是,我就納悶了,以前的方法是在編譯的時候寫死了,比如配置為4了,運作的時候就是設定為4,不變了,其實這是有一定風險的,例如剛才說的例子。那麼,怎麼改呢?能不能在允許的時候判斷出TP裝置節點是哪個呢?答案是可以的。

在添加自動擷取TP的event_num方案時,遇到了一點點問題:

一、在周遊裝置節點時候,怎麼記錄下event_num,C語言很簡單啊,i++,但是shell裡面不能這麼做。

二、怎麼截獲字元串的前幾個字元?

先解決第一個問題,在網上搜了一下,發現有個人寫的很好,這裡引用一下:

這幾種方法都可以實作i++操作,其中我在實際中使用了 let a++

第二個問題的方法其實也很多,我這裡隻說一種容易記住的:

例如:有個字元串變量string=abcdefgh,我需要截取前面4個字元,那麼shell應該怎麼實作?

結果:cut_string=abcd

以上2個問題是在實際解決問題的時候遇到的,雖然是不起眼的技術點,慢慢積累還是有用的。

古語雲:不積跬步,無以至千裡;不積小流,無以成江海。O(∩_∩)O

繼續閱讀