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

來源:互聯網
上載者:User

標籤:

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

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

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

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

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

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

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


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

a=1a=$(($a+1))a=$[$a+1]a=`expr $a + 1`let a++let a+=1
這幾種方法都可以實現i++操作,其中我在實際中使用了 let a++


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

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

string="abcdefgh"cut_string=`echo $string|cut -c 1-4`
結果:cut_string=abcd

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

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.