เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | เนื้อหา | ถัดไป>

เอกสารที่นี่

เราได้ดูวิธีการแสดงข้อความของเราสองวิธีที่แตกต่างกัน ทั้งการใช้ เสียงสะท้อน คอม-


อาณัติ มีวิธีที่สามที่เรียกว่า ที่นี่เอกสาร or นี่สคริปต์. เอกสารที่นี่เป็นรูปแบบเพิ่มเติมของการเปลี่ยนเส้นทาง I/O ซึ่งเราฝังเนื้อความของข้อความลงในสคริปต์ของเราและป้อนลงในอินพุตมาตรฐานของคำสั่ง มันทำงานเช่นนี้:

คำสั่ง << โทเค็น

ข้อความ

โทเค็น

ที่ไหน คำสั่ง เป็นชื่อของคำสั่งที่รับอินพุตมาตรฐานและ โทเค็น เป็นสตริงที่ใช้ระบุจุดสิ้นสุดของข้อความที่ฝังไว้ เราจะแก้ไขสคริปต์ของเราเพื่อใช้เอกสารที่นี่:



#! / bin / ทุบตี


# โปรแกรมออกหน้าข้อมูลระบบ


TITLE="รายงานข้อมูลระบบสำหรับ $HOSTNAME" CURRENT_TIME=$(date +"%x %r %Z")

TIMESTAMP="สร้าง $CURRENT_TIME โดย $USER"


แมว << _EOF_

$TITLE

$TITLE

$TIMESTAMP

_อีโอเอฟ_

#! / bin / ทุบตี


# โปรแกรมออกหน้าข้อมูลระบบ


TITLE="รายงานข้อมูลระบบสำหรับ $HOSTNAME" CURRENT_TIME=$(date +"%x %r %Z")

TIMESTAMP="สร้าง $CURRENT_TIME โดย $USER"


แมว << _EOF_

$TITLE

$TITLE

$TIMESTAMP

_อีโอเอฟ_


แทนที่จะใช้ เสียงสะท้อนตอนนี้สคริปต์ของเราใช้ แมว และเอกสารที่นี่ สตริง _อีโอเอฟ_ (หมายถึง "สิ้นสุดไฟล์" ซึ่งเป็นแบบแผนทั่วไป) ได้รับเลือกให้เป็นโทเค็น และทำเครื่องหมายจุดสิ้นสุดของข้อความที่ฝังไว้ โปรดทราบว่าโทเค็นต้องปรากฏตามลำพังและต้องไม่มีช่องว่างต่อท้ายบรรทัด

ข้อดีของการใช้เอกสารที่นี่คืออะไร? ส่วนใหญ่จะเหมือนกับ เสียงสะท้อนยกเว้นว่าโดยค่าเริ่มต้น เครื่องหมายคำพูดเดี่ยวและคู่ภายในเอกสารนี้จะสูญเสียความหมายพิเศษไปในเชลล์ นี่คือตัวอย่างบรรทัดคำสั่ง:



[me@linuxbox ~]$ foo="ข้อความบางส่วน"

[me@linuxbox ~]$ แมว << _EOF_

> $ฟู

[me@linuxbox ~]$ foo="ข้อความบางส่วน"

[me@linuxbox ~]$ แมว << _EOF_

> $ฟู


> "$foo"

> '$foo'

> \$ฟู

> _อีโอเอฟ_ ข้อความบางส่วน "ข้อความบางส่วน" 'ข้อความบางส่วน'

$ฟู

> "$foo"

> '$foo'

> \$ฟู

> _อีโอเอฟ_ ข้อความบางส่วน "ข้อความบางส่วน" 'ข้อความบางส่วน'

$ฟู


อย่างที่เราเห็น เปลือกไม่สนใจเครื่องหมายคำพูด ถือว่าพวกเขาเป็นตัวละครธรรมดา ซึ่งช่วยให้เราสามารถฝังเครื่องหมายคำพูดได้อย่างอิสระภายในเอกสารที่นี่ สิ่งนี้อาจเป็นประโยชน์สำหรับโปรแกรมรายงานของเรา

สามารถใช้เอกสารที่นี่กับคำสั่งใดๆ ที่ยอมรับอินพุตมาตรฐาน ในตัวอย่างนี้ เราใช้เอกสาร here เพื่อส่งชุดคำสั่งไปยัง FTP โปรแกรมตามลำดับเพื่อดึงไฟล์จากเซิร์ฟเวอร์ FTP ระยะไกล:



#! / bin / ทุบตี

# สคริปต์เพื่อดึงไฟล์ผ่าน FTP FTP_SERVER=ftp.nl.debian.org

FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n << _EOF_ เปิด $FTP_SERVER

ผู้ใช้ที่ไม่ระบุชื่อ me@linuxbox cd $FTP_PATH

กัญชา

รับ $REMOTE_FILE บาย

_อีโอเอฟ_

ls -l $REMOTE_FILE

#! / bin / ทุบตี

# สคริปต์เพื่อดึงไฟล์ผ่าน FTP FTP_SERVER=ftp.nl.debian.org

FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n << _EOF_ เปิด $FTP_SERVER

ผู้ใช้ที่ไม่ระบุชื่อ me@linuxbox cd $FTP_PATH

กัญชา

รับ $REMOTE_FILE บาย

_อีโอเอฟ_

ls -l $REMOTE_FILE


หากเราเปลี่ยนตัวดำเนินการเปลี่ยนเส้นทางจาก "<<" เป็น "<<-" เชลล์จะละเว้นอักขระแท็บนำหน้าในเอกสารที่นี่ ซึ่งช่วยให้เยื้องเอกสารที่นี่ ซึ่งสามารถปรับปรุงความสามารถในการอ่าน:



#! / bin / ทุบตี

# สคริปต์เพื่อดึงไฟล์ผ่าน FTP FTP_SERVER=ftp.nl.debian.org

#! / bin / ทุบตี

# สคริปต์เพื่อดึงไฟล์ผ่าน FTP FTP_SERVER=ftp.nl.debian.org


FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n <<- _EOF_ เปิด $FTP_SERVER

ผู้ใช้ที่ไม่ระบุชื่อ me@linuxbox cd $FTP_PATH

กัญชา

รับ $REMOTE_FILE บาย

_อีโอเอฟ_


ls -l $REMOTE_FILE

FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n <<- _EOF_ เปิด $FTP_SERVER

ผู้ใช้ที่ไม่ระบุชื่อ me@linuxbox cd $FTP_PATH

กัญชา

รับ $REMOTE_FILE บาย

_อีโอเอฟ_


ls -l $REMOTE_FILE


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: