如何查成績/交檔案

要查成績或交檔案, 請從任何 unix 系統 (例如你家裡的 Linux 或 *BSD) 以 ssh 登入你在 penguin 主機上的帳號; 或從 MS Windows 下以 pietty 或 putty 登入。

不論是查成績或是交檔案, 都牽涉到權限的問題: 學生的檔案要寫入老師的目錄, 自然涉及兩個帳號的讀寫權限; 而成績檔的主人是老師, 卻又要根據查詢者的身份來決定要顯示那一部分 (如果看到別人的成績就不太好了). 所以我寫了一個程式叫 ~greg/bin/suid 讓你 (學生) 暫時用我 (老師) 的身份來存取檔案. 當然 suid 只會調出查詢者的成績, 不會印出其他人的成績。

查成績: 請下 ~greg/bin/suid viewgrade 你應該只會看到自己的成績.

交檔案: 例如你要把 quiz1.pl 這個檔案交上來, 請下 ~greg/bin/suid submit quiz1.pl 檔名隨便你取 -- 因為我的 suid 程式很簡陋, 你總共只能交一個檔案上來。 不論在你這頭叫它什麼, 在我那頭都以你的學號命名。 也因此新交上來的檔案會把舊的檔案覆蓋掉!

檢查最後一次交上來的檔案: 請下 ~greg/bin/suid retrieve 不必給檔名 -- 在我那頭只有一個檔案; 在你這頭並不建立一個新檔案, 而是直接印到螢幕上. 每次交上一個檔案之後請務必做這個確認動作. 如果內容太多, 你也可以將它 pipe 給 less; 又或者可以直接與原先的檔案逐字比對: ~greg/bin/suid retrieve | diff - quiz1.pl 如果沒有印出任何東西, 就表示我收到的檔案跟 quiz1.pl 一模一樣, 因為 diff 這個指令會印出兩檔案相異之處。

懶惰是一種美德

如果你與我一樣懶惰, 嫌每次打這一長串太麻煩, 可以在你的 .bashrc 裡面加上這幾句:

        alias suid='~greg/bin/suid'
        alias vg='suid viewgrade'
        alias submit='suid submit'
        alias rt='suid retrieve | less -sir'

下一次 login 時, 打 type submit 看看出現上面的定義 (正確) 還是出現 ... not found (設定錯誤). 若成功, 從此以後, 查成績只需要打 vg 交檔案打 submit quiz1.pl 查檔案打 rt 就好了.

同時修我兩門課或更多門課的同學

交檔案或查檔案時, 如果出現 "which of the 2 classes (...) is this for?" 之類的訊息, 就表示我的課你同時修了兩門或更多。 此時應用 -s 選項指定科目。 例如小括弧裡面如果出現 ds049 與 sl049, 表示你同時修了資料結構與跨平臺程式設計兩門課。 如果要交的是資料結構的作業/考試答案檔 ex1.txt, 可以下: suid submit -s ds049 ex1.txt 查檔案亦同。