5.1 สคริปท์ ใช้ค่าระบบ และรับค่า
สามารถทดสอบ shell script ที่ http://bellard.org/jslinux/
ในการเขียน shell script ต้องทราบเรื่องต่อไปนี้
1. ใช้ vi สำหรับเขียน script ตั้งชื่อเช่น hello
2. เปลี่ยนโหมด ด้วย chmod 755 hello
3. $set สั่งแสดงค่าที่ตั้งไว้
4. $a="myvar1"
5. สร้างแฟ้ม myvar1 ด้วย echo a>myvar1
6. $ls -al myvar1 ควรพบขนาดแฟ้มเป็น 2 byte
7. DOS>echo a>myvar1 จะได้แฟ้มขนาด 3 byte
8. ส่งค่าให้กับ script ด้วย $./me a b c
vi me
echo $0 $1 $2
:wq
chmod 755 me
./me a b c
[output] ./me a b
echo $HOME
5.2 สคริปท์บน Android การเลือกแบบ if
http://www.thaiall.com/blog/burin/8474/
เคยมีนักศึกษาสายไอที ถามมา
เพราะสายอื่นเค้าคงไม่ถามแบบนี้
คำถาม "มีสมาร์ทโฟน เอามาทำอะไรได้บ้าง"
แล้วก็คิดได้ว่า โทรศัพท์ที่เค้ามีเป็น android os
สามารถติดตั้ง app เพิ่ม จาก Google play store ได้
งั้นตอบว่า "ใช้เขียน shell script ได้ ลองดูนะ"
ไม่ต้องกังวลเรื่อง root ด้วย เพราะไม่จำเป็นต้องทำ
แนะนำว่าต้องโหลดแอพดังต่อไปนี้
1. Terminal Emulator
2. Droidedit Free
3. ES File Explorer File Manager
4. Server for PHP
อันที่จริง ใช้แอพในข้อ 1 เป็นหลัก
ที่เหลือแนะนำว่า Developer ควรมีไว้ในเครื่อง
ขั้นตอนการเขียน shell script
บน Android แบบไม่ต้องใช้ chmod
1. โหลดแอพ Terminal Emulator
เพื่อเข้าไปจัดการกับ Script ผ่าน Shell บน Android
2. โหลดแอพ Droidedit Free
เพื่อเป็นอีดิเตอร์สำหรับเขียน Script บน Android เพราะโหลดมาแก้ไข และ Save as ได้
3. สำรวจห้องที่จะเก็บ shell script
โดยใช้เครื่องมือ คือ Terminal Emulator หรือ ES File Explorer File Manager ก็ได้
เข้าไปดูห้อง /mnt/sdcard พบว่ามีห้องเก็บข้อมูลมากมาย
อาทิ ห้อง /mnt/sdcard/pws ที่สร้างจากแอพ Server for PHP
4. เขียน Shell script บนแอพ Droidedit Free
แล้ว Save as ชื่อ test1 วางไว้ในห้อง /mnt/sdcard
#!/system/bin/sh
read x
echo $x
5. ใช้ Terminal Emulator สั่ง execute shell script
โดยไม่ต้องใช้คำสั่ง chmod เพราะใช้ไม่ได้และไม่จำเป็นต้องใช้ หากต้องการใช้ shell script ให้มีคำว่า sh นำหน้า เช่น $sh test1
6. ตัวอย่าง รับค่าจากแป้นพิมพ์มาทดสอบ
#!/system/bin/sh
read x
echo $x
if [ "$x" == "1" ]
then
echo "one"
elif [ "$x" == "2" ]
then
echo "two"
else
echo "-"
fi
อธิบาย script ว่า
ถ้า execute แล้วเค้าหยุดถาม
หากกรอกเลข 1 จะพิมพคำว่า one ออกมา
หากกรอกเลข 2 จะพิมพคำว่า two ออกมา
หากกรอกอย่างอื่น จะพิมพคำว่า - ออกมา
5.3 สคริปท์ การเลือกแบบ case
แชร์เรื่องนี้ใน facebook.com
#!/system/bin/sh
read x
echo $x
case $x in
"one") echo "1";;
[1]) echo "one";;
[Yy]) echo "yes";;
*) echo "-";;
esac
5.4 สคริปท์ ทำซ้ำแบบ while
แชร์เรื่องนี้ใน facebook.com
#!/system/bin/sh
# echo $# $1 $2
n=2
i=1
while [ $(($i)) -le 12 ]
do
echo "$n * $i = " $(($i * $n));
i=$(($i + 1));
done
5.5 สคริปท์ ทำซ้ำแบบ for
แชร์เรื่องนี้ใน facebook.com
#!/system/bin/sh
# expr and seq : not found
for i in 1 2 3
do
echo $i;
done
for i in 1 2 3; do echo $i; done
for i in one two three
do
echo $i
done
5.6 สคริปท์ ทำซ้ำแบบ until
แชร์เรื่องนี้ใน facebook.com
#!/system/bin/sh
i=0
until [ $(($i)) -eq 12 ]
do
i=$(($i + 1))
echo "2 * $i = " $(($i * 2))
done
5.7 สคริปท์ ฟังก์ชันที่สร้างเอง
แชร์เรื่องนี้ใน facebook.com
#!/system/bin/sh
function myfunc {
i=0
until [ $(($i)) -eq 12 ]
do
i=$(($i + 1))
echo "2 * $i = " $(($i * 2))
done
}
myfunc
6.1 slowaris.labs.pulltheplug.com : Server ที่แข็ง และมี user:guest password:guest ให้เข้าไปลอง telnet ได้
ระบบนี้เป็น Solaris 5.8 ของ Sun ลองเข้าไปแล้วใช้อะไรได้หลายอย่าง ผมว่า ว่าง ๆ hacker ลองเข้าไปดูก็ได้นะครับ เป็น server ที่แนะนำโดย Mr.RobiUz Miora (robiuz@yahoo.com)
จดหมายด้านล่างนี้เขาแนะนำผมหลายอย่างเช่น ให้ใช้ OpenBSD ดีกว่า .. อ่านแล้วก็ได้ข้อคิดหลายอย่าง
Date: Wed, 13 Jun 2001 06:10:30 -0700 (PDT)
From: Mr RobiUz Miora [robiuz@yahoo.com]
Dear Webmaster.
As I see www.isinthai.com.. I know you install SSH in your server and restrict user behavior.In my opinion, you miss in 2 point....First as in my previous e-mail, restrict shell isn't good idea.You want to make "Open host" not "Restrict host", Right. But now I see your host like a seller machine,choose the drink and get it. Not doing anything much more. If you don't want any user or hacker I suggest you to disable and Close it.And second , SSH is good for every host but it's duty is ENCRYPT , AUTHENTICATION and AUTHORIZATION... it's not protect your system directly.
If you go to hacking website that provice Exploit Code you'll see very very hole in REDHAT , Slackware and others software. I know it's difficult to patch all.... So..LET'S TRY TO CHANGE OS TO SAFER ONE... As I know OpenBSD has less bug than REDHAT or Slackware...You can Change to..
It's my opinion.Decider is YOU....
FYI. RobiUz
คุณ robiuz mail มาอีกครั้ง และแนะนำว่าสามารถเปลี่ยน shell ของตนเองด้วยคำสั่ง chsh ผมลองแล้วก็เป็นตามนั้นจริง แต่การใช้คำสั่งนี้ ก็ต้องออกไปที่ shell ปกติ ซึ่งผมก็ยังหาจุดออกไปไม่เจอ เพราะปัจจุบันจำกัด account ด้วย Restrict shell
Date: Thu, 26 Jul 2001 01:26:07 -0700 (PDT)
From: Mr RobiUz Miora
To: webmaster@isinthai.com
Subject: change shell
Dear webmaster,
All users can change his/her shell by chsh command so demo user change his shell himself.Don't worry he doesn't gain root.
regard,
RobiUz
คนแบบนี้สิครับ ที่โลกต้องการ
6.2 academic.cmri.ac.th : Server ที่แข็งมากอีกตัว เป็นของคนไทย ได้รับการแนะนำจาก apples@chek.com
ที่นี่เขียนบทความการลง Server ไว้น่าอ่าน และละเอียดดีครับ และคุณ apples@chek.com ยังให้คำแนะนำผมมากมาย เช่นเรื่องของ restricted shell ที่หาอ่านที่ไหนก็ไม่รู้เรื่อง มาได้ code และวิธีของท่านนี่หละครับ จึงสำเร็จเรื่อง restrict ได้ด้วยดี
ผมรู้จักคุณ apples@chek.com เพราะเขาเป็นผู้คอยให้คำแนะนำ และช่วยเหลือ ผู้คนใน wwwboard ของหลายที่ เช่น linux.thai.net เป็นต้น
http://academic.cmri.ac.th/downloads.php/howto/
http://academic.cmri.ac.th/downloads.php/howto/Apache%20Module.txt
ภาพนี้จากจอที่ telnet login ของ academic.cmri.ac.th (ผมเองก็ไม่มี account)
Welcome to Academic Services Machine
,
, ;:._.-`''.
;.;'.;` _ `.
',;` ( \ ,`-.
`:.`, (_/ ;\ `-.
';: / `. `-._
`;.;' `-,/ . `-.
';;' _ `^` `.
';; ,'-' `--._ ;
': `;; ,; `. ':`,,.__,,_ /
`;`:;`;:` ,; '. ;, ';';':';;`
.,; ' '-._ `':.;
.:; ` '._ `';;,
;:` ` :'`' ',__.)
`;:;:.,...;'`'
';. '`'::'`'' .'`'
,' `';;:,..::;`'`'
, .;` `'::''`
,`;`.
academic login:
6.71 จดหมายแจ้งปรับปรุงระบบ ของ se-ed.net : มีรายละเอียดหลายอย่างเขียนได้ดีมาก น่าอ่านเป็นกรณีศึกษา
Date: 2 สิงหาคม 2544
From: webmaster@se-ed.com (Sanyapong Kridakarn)
เรียนสมาชิกทุกท่าน
หลังจากที่ทางซีเอ็ดให้บริการฟรีอีเมล์ และฟรีโฮมเพจมา 1 ปี ขณะนี้ก็ถึงเวลาที่ทางทีมงานขอแจ้งให้ทราบว่า จะมีการปรับปรุงเปลี่ยนแปลง
เซิร์ฟเวอร์เพื่อให้สามารถให้บริการทุกท่านได้มากขึ้น และเพิ่มเติมความสามารถให้รองรับการใช้งานของทุกท่านได้มากกว่าเดิมในทุกๆ ด้าน
ทุกท่านคงพอจะทราบว่า ช่วงสองเดือนที่ผ่านมา เซิร์ฟเวอร์เกิดปัญหาหลายครั้ง โดยเกิดขึ้นจากหลายสาเหตุ เช่น
- พื้นที่ฮาร์ดดิสก์ 60 GB ของเซิร์ฟเวอร์เหลืออยู่ประมาณ 2 GB เท่านั้น
- การถูกถล่มด้วยเมล์จำนวนมาก (mail bomb) จากสมาชิก SE-ED.net ของเราท่านหนึ่ง
- ข้อจำกัดของ Linux ที่โฟลเดอร์หนึ่งจะมีไฟล์และโฟลเดอร์ได้เพียงประมาณ 32,000 โฟลเดอร์เท่านั้น ทำให้ไม่สามารถรองรับสมาชิกเพิ่มเติมได้
- ข้อจำกัดเว็บเซิร์ฟเวอร์ Apache ที่รองรับผู้ใช้พร้อมกันได้เพียง 256 ราย และทำให้เซิร์ฟเวอร์ทำงานช้ามากสำหรับผู้ใช้รายที่ 257 ขึ้นไป
เมื่อคอมไพล์โปรแกรม Apache ใหม่เพื่อให้รองรับผู้ใช้ได้มากขึ้นจนกระทั่งเกิด Error โดยไม่คาดหมาย ทำให้ไม่สามารถอ่านเมล์ผ่านเว็บ
และเปิดเว็บเพจของสมาชิกได้ประมาณ 2 วัน
- การระบาดของไวรัส Sircam
- ล่าสุด ระบบไฟล์บนฮาร์ดดิสก์ของลินุกซ์เกิดขัดข้อง จนเซิร์ฟเวอร์หยุดทำงาน ต้องไปแก้ไขเครื่องถึงอินเทอร์เน็ตประเทศไทย
ระบบทุกอย่างหยุดทำงาน~ 24 ชั่วโมง
ต้องขออภัยทุกท่านที่เกิดปัญหาและข้อติดขัดเหล่านี้ ทีมงานจะทุ่มเทอย่างเต็มที่เพื่อให้เกิดเหตุการณ์เหล่านี้น้อยที่สุด และในกรณีที่เกิดเหตุสุดวิสัย
ก็จะรีบแก้ไขให้บริการทุกอย่างกลับมาเป็นปกติอีกครั้งในเวลารวดเร็วที่สุดเท่าที่จะทำได้
ขณะนี้ทางทีมงานกำลังอัปเกรดเครื่องใหม่ และเปลี่ยนแปลงระบบปฏิบัติการที่ใช้ดังนี้
ตารางเปรียบเทียบเซิร์ฟเวอร์ใหม่และเก่า
| New Server | Current Server | CPU | Dual Pentium III 933 MHz | Pentium III 650 MHz | Motherboard | Intel Server Board STL2 | Intel Server Board L440GX | Memory | 1 GB | 512 MB | Harddisk | 300 GB | 60 GB | OS | Windows 2000 Advanced Server | Redhat Linux 6.2 | Web server | Apache 1.3.20 for Windows | Apache 1.3.20 |
นอกจากนี้จะยังมีระบบไฟร์วอลล์เพื่อป้องกันระบบให้ปลอดภัยจากการโจมตีและการแฮกได้มากขึ้น
เนื่องจากเราต้องเปลี่ยนระบบปฏิบัติการ ทำให้ต้องเปลี่ยนระบบรับส่งอีเมล์ใหม่ทั้งหมด
* ท่านที่ใช้ Outlook หรือ Eudora ไม่ต้องปรับเปลี่ยนใดๆ ทั้งสิ้น เนื่องจากเมล์เดิมจะได้รับการจัดเก็บไว้ในเครื่องของสมาชิกอยู่แล้ว
* ท่านที่ใช้การอ่านเมล์ผ่านเว็บเบราเซอร์ จะไม่สามารถอ่านเมล์เดิมได้ เพราะระบบใหม่จะเสมือนการสร้างตู้จดหมายขึ้นมาใหม่ทั้งหมด
(ทีมงานจะจัดระบบให้สามารถตรวจสอบเมล์ในระบบเดิมได้ โดยจะเก็บเมล์เหล่านี้อีกระยะหนึ่ง เพื่อให้ท่านสามารถ Forward เมล์เหล่านั้นไป
เก็บไว้ในระบบใหม่ได้) สำหรับวันเวลาที่จะดำเนินการเปลี่ยนแปลงระบบจริงๆ นั้น จะแจ้งให้ทุกท่านทราบในโอกาสต่อไป (คาดว่าจะอยู่ในช่วงสัปดาห์นี้)
ในช่วงที่ดำเนินการเปลี่ยนระบบจริงนั้น อาจเกิดข้อขัดข้องอยู่บ้าง ทีมงานจึงขออภัยล่วงหน้าถ้าเกิดกรณีดังกล่าวขึ้น และหวังว่าทั้งหมดนี้
เพื่อให้บริการที่ดีที่สุดสำหรับสมาชิกทุกท่าน
6.72 thcity.com (เปลี่ยน Linux เป็น Windows) : Free hosting ที่ถือได้ว่าเร็วที่สุดแห่งหนึ่งของเมืองไทย ผมเองก็ใช้บริการ เพราะประทับใจในความเร็ว และ datatransfer ปีละ 900 บาท
ข้อมูลจากเว็บหน้าแรกของ thcity.com เมื่อ 1 ตุลาคม 2545
ศูนย์ พิษณุโลก.com เราได้เปิด Free Hosting ขึ้นมาครั้งแรกในปี 2542 ความตั้งใจคือหวังแค่เพียงว่า ให้นักเรียนนักศึกษา ในจังหวัดพิษณุโลกเราได้มีที่ฝึกฝนฝีมือในการทำโฮมเพจเพื่อพัฒนาบุคลากรภายในจังหวัด ให้เที่ยบเท่ากับเมืองใหญ่ๆ จากที่เราเป็นเพียงศูนย์เล็กๆ การดูแล Server และข้อมูลจึงยังไม่ดีเท่าที่ควร จึงทำ ให้ข้อมูล ศูนย์หายไปบ้าง ปิดไปบ้าง แต่ วันหนึ่งเราจะโตเที่ยบเท่ากับ Hosting ทั่วๆ ไป (ความหวังสูงสุด)
หลังจากได้เปิด Thcity ขึ้นมาเป็น Free Hosting แล้ว ก็มีสมาชิกทั่วประเทศเข้ามาขอกันเป็นจำนวนมาก User ของเราเคยมากถึง 20,000 กว่า ในต้นปี 2544 แต่ ข้อมูลได้ศูนย์หายหมดเนื่องจาก เปิดเครื่องขึ้นมา ติดที่ Scan Disk เราปล่อยให้ Scan ไป 3 วัน ก็ได้แค่ 21 %เราจึงจัดสินใจทำใหม่ แต่การทำใหม่ในครั้งนั้น ไม่สมบูรณ์ เหมือน ครั้งแรก เนื่องจาก ทีมงานเรามีงานมากกว่าเดิม จึงมิได้ให้ความสำคัญกับ Free Hosting เท่าที่ควร จนมาถึง กลางปี 2545 ที่ผ่านมา เริ่มทำขึ้นมาใหม่เป็น Server Linux เราตั้งความหวังไว้ว่าจะทำ ให้ดีเหมือนเดิม เปิดได้เพียง 6 เดือน เท่านั้นก็ต้องปิดไปเนื่องจาก ทีมงานเราไปเก่ง Linux เท่าที่ควร ทำให้ Security ไม่ดีพอ
เปิดใหม่ครั้งนี้ ด้วยความสามารถของ NTFS และ IIS 5 ทำให้ทีมงานพิษณุโลก.com เรามั่นใจเท่าที่ควร ที่เราจะบริการ Free Hosting ให้ดีกว่าครั้งที่ผ่านมา ขอประกาศเปิด Free Hosting ครั้งใหม่ ณ วันที่ 1 ตุลาคม 2545 อย่างเป็นทางการ ถึงแม้ว่าระบบจะยังไม่สมบูรณ์ เท่าที่ควร แต่เราจะพัฒนาจน เต็มความสามารถ เลยทีเดียว (ข้อมูลเก่าท่านยังอยู่ครบ แต่อยู่ใน Linux อยู่ จะเปิดให้เข้ามา Load กลับคืนไป เร็วๆ นี้ )
|