2017-10-04 82 views
0

我創建了一個持有學生的名字和三個等級分數的數組:如何在bash shell腳本中從數組中剪切某個字段?

studentArray=([0]="John Doe":100:88:90) 

我的問題是,當我在shell中運行剪切命令,像這樣

cut -d: -f1 /submit/studentGrades 

它顯示的全部內容的bash腳本,而不僅僅是我想要的部分,這就是名字。

#!/bin/bash 

studentArray=([0]="John Doe" 

echo "${studentArray[0]}" 

exit 0 

如果我做2場,而不是像這樣:

cut -d: -f2 /submit/studentGrades 

它只顯示我要上一年級,但它仍然顯示bash腳本的全部內容。

我在做什麼錯?這是我第一次在Bash腳本中使用數組。

非常感謝您的幫助!

+0

你爲什麼要使用一個腳本文件'cut'? – Barmar

+0

我們必須爲五名學生和成績創建數組。然後,我們必須提取每個學生的姓名和所有三個等級來查找平均值,然後顯示它們。 – jshakil

+0

爲什麼要通過剪切而不是直接在指定腳本的腳本中訪問數組? – Barmar

回答

1

我不確定你爲什麼要使用腳本文件作爲數據文件。

使用grep切割之前,選擇您需要的行:

grep '^studentArray=' /submit/studentGrades | cut -d: -f1