SA Homework 2: Shell Script
date
Jan 16, 2018
slug
sa-homework-2-shell-script
status
Published
tags
NCTU
SA
summary
type
Post
註:應作業要求所以使用 Bourne shell (sh)
hw2-1 awk
- one-line command
- list the first five largest files
1. 使用 ``
2. better method
需處理含空白的檔名所以用
substr($0,index($0,$9))
參考自 https://serverfault.com/questions/375835/awk-and-file-names-with-space-in-it/375838hw2-2 爬課表
- 帳密輸入
- dialog
- 撈到課表
- 連上portal(curl)
- 建立session [curl產生驗證碼的php 然後存cookie]
- 利用此 cookie 抓下此時間 pic.php 所產生的驗證碼圖
- 將圖上傳至TA提供的api取得驗證碼
- 將 username, password, seccode POST 到 portal 完成登入
- 可能的error
- alert("登入 <ID> 失敗, 請確認密碼是否正確! 如果忘記您的密碼可使用<忘記密碼>功能")
- alert("登入 <ID> 失敗, 無此帳號")
- alert("登入 <ID> 失敗, 驗證碼錯誤");
- 連上選課系統 [ D=cos ]
curl -s(--silent)
不會把要輸出的html也沈默掉
所以我們可以把output丟入黑洞中 curl -s {url} > /dev/null
其實連上去會是一個 html 的 form 然後 post 到 .php 然後就進入選課系統,所以我們可以用 id=value 的方式建立 form-data 然後 post 出去即可連上選課系統
- 排版輸出
- awk 抓取 html tag
選課系統的課表有的換行是
\\r
p.s.找了快2hr才發現 ˊˋ