Shell命令解析器機10.13筆記整理

Shell命令解析器

#!/bin/sh    
#表示註釋,這是把bash版的shell腳本
echo #輸出

變量 # 傳入腳本命令行參數的個數
0 該命令本身
1 2 第二個命令行參數
以此類推

例子,創建三個不同的文件夾,並在各個文件夾下創建同名txt文件

這裏寫圖片描述

if 入參判斷
格式 if空格[空格+條件+空格] fi 判斷結束
另外 >重定向(覆蓋) >>重定向(不覆蓋)

tree 樹狀顯示

這裏寫圖片描述

關鍵字sizeof

求數據類型的字節數
這裏寫圖片描述
這裏寫圖片描述

strlen

求字符串長度函數
這裏寫圖片描述
這裏寫圖片描述

可以看到strlen最終打印結果是255
因爲strlen讀取到\0是就輸出
至於打印結果爲什麼是-1到-128就跳回到127,因爲有符號數的運算
比如:-1 - 7=-8
然而有符號數的計算是用二進制補碼計算
即源碼:1001 + 1111
補碼:1111 + 1001
計算結果爲11000,因爲位數不夠,所以符號位捨去,-8的二進制表示爲1000,這也是約定
所以strlen中當計算結果爲-128時再減一就變成了127

作業:

這裏寫圖片描述
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章