หลังจากพอใจ ความต้องการ สำหรับ สามารถเรียกใช้สคริปต์ทุบตีและเข้าใจ วิธีกำหนดฟังก์ชั่นเรียนรู้วิธีการ คืนค่าในฟังก์ชันทุบตี. สำหรับสิ่งนี้เราจะสร้างโปรแกรม ―but ที่มีประสิทธิภาพขนาดเล็กใน Bash นั้น คำนวณตัวอักษรของ DNI. ฉันมีข่าวดี: ทุบตีก็ทำได้เช่นกัน ติดตั้งบน Windows 10. ด้วยสิ่งที่สามารถเพิ่มพลังทั้งหมดของ Linux ในระบบปฏิบัติการสมมติว่า ...
ก่อนอื่นเราต้อง ทำความเข้าใจว่าไฟล์ สตริงซึ่งเช่นเดียวกับในภาษาใด ๆ ก็มีความเป็นไปได้ ส่งคืนส่วนของสตริง จากการบ่งชี้ของโซ่ตำแหน่งและความยาวของส่วน ลองดูตัวอย่างของพฤติกรรมนี้ เราสร้างสคริปต์ของเราด้วย
$ touch prueba_substring $
จากนั้นเราจะเพิ่มรหัสต่อไปนี้ด้วยตัวแก้ไขที่คุณต้องการ ในโหมดเทอร์มินัล โปรแกรมแก้ไขที่ฉันต้องการคือ mcedit. แต่เมื่อเร็ว ๆ นี้ฉันเห็นว่านาโนกำลังมาแรง
#!/usr/bin/env bash # Demo comportamiento de substrings en Bash # Pedro Ruiz Hidalgo # version 1.0.0 # Febrero 2017 ret="\n" CADENA="siempre uso Linux con Ubuntu y Ubunlog, claro!" # "0123456789012345678901234567890123456789012345" # " 1 2 3 4 " # (usa la regla para medir los caracteres) echo -e $ret ${CADENA:12} echo -e $ret ${CADENA:12:5} echo -e $ret "Aprendo en ${CADENA:31:7}" exit 0
การเพิ่มสิทธิ์และดำเนินการดังนี้:
$ chmod +x prueba_substring $ ./prueba_substring $
หากทุกอย่างเป็นไปด้วยดีให้ส่งคืนผลลัพธ์ต่อไปนี้:
Linux Con Ubuntu y Ubunlog, claro! Linux Aprendo en Ubunlog
การทำงานของสตริงย่อย
ดังที่คุณเห็นด้านบน ฉันได้เน้นบรรทัดที่ 13 ถึง 15 จากสคริปต์และขั้นตอนที่ อธิบายรหัสของคุณ. ก้อง ที่มีการ พารามิเตอร์ "-e" ให้แสดงไฟล์ อักขระบรรทัดถัดไปเราได้กำหนดอักขระนี้ในไฟล์ บรรทัดที่ 7 และกำหนดให้กับตัวแปร« ret ».
บรรทัดที่ 13: ฉันแสดงสตริงย่อย (สตริงย่อย) ของตัวแปร CHAIN อธิบายไว้ในบรรทัดที่ 8 จากตำแหน่ง 12. เริ่มนับจากตำแหน่ง 0 เสมอ.
บรรทัดที่ 14: จาก ตำแหน่ง 12 ของตัวแปร CHAIN ฉันแสดงส่วนของ 5. ในขณะที่คุณจะตรวจสอบสิ่งนี้สอดคล้องกับไฟล์ สตริงย่อย "Linux".
บรรทัดที่ 15: ฉันเขียนไฟล์ สตริงใหม่ที่อยู่ในเครื่องหมายคำพูด ฉันเริ่มเป็น«ฉันเรียนรู้ใน«เพื่อดำเนินการต่อโดยใช้สตริงย่อยของตัวแปร CHAIN จากตำแหน่ง 31 แบ่งส่วนเป็น 7: สิ่งนี้สอดคล้องกับ «Ubunlog».
ฟังก์ชัน Postback
กลไกการส่งคืนด้วย Bash นั้นสร้างขึ้นโดยคำสั่ง "return" แม้ว่าเมื่อเราต้องจับคู่กับตัวแปร Bash มันจะใช้กลไก "แปลก ๆ " ซึ่งคุณต้องคุ้นเคย ลองดูตัวอย่างต่อไปนี้:
#!/usr/bin/env bash function suma(){ local a=$1 local b=$2 return $(( $a + $b )) } suma 12 23 retorno=$? echo $retorno
ต้องกำหนดฟังก์ชันก่อนใช้งานใน Bash เสมอดังนั้นหลังจาก Shebang เราประกาศผลรวมของฟังก์ชันในบรรทัดที่ 4 เรากำหนดโดย«ท้องถิ่น»การกำหนดพารามิเตอร์ตัวแรก ($ 1) ให้กับตัวแปร "a" ขั้นตอนเหมือนกันในบรรทัดที่ 5 โดยที่ เรากำหนดพารามิเตอร์ที่สอง a ($ 2) ให้กับตัวแปร« b ». ในบรรทัดที่เก้าเราเรียกฟังก์ชัน sum ด้วยพารามิเตอร์สองตัวที่จะถูกแปลงโดยกลไกที่อธิบายไว้ใน ตัวแปร "a" และ "b" และด้วย "return" เราจะส่งคืนค่าที่เพิ่มเข้ามาดังที่เห็นได้ง่ายในคำแนะนำฟังก์ชัน
เรากำหนดตัวแปร "return" ในไฟล์ บรรทัดที่ 10 ผลลัพธ์ของการดำเนินการของผลรวมฟังก์ชัน.
หลังจากศึกษาและทำความเข้าใจในแนวทางที่ มีการฝึกการส่งคืนค่าและการกำหนดให้กับตัวแปร ไปดูโปรแกรม การคำนวณตัวอักษร DNI ด้วย Bash.
สคริปต์เพื่อคำนวณตัวอักษร DNI ด้วย Bash
#!/usr/bin/env bash nl="\n" LETRAS="TRWAGMYFPDXBNJZSQVHLCKEO" NORMAL=0 ERROR=66 if [ $# -lt 1 ]; then echo -e "$nl Cálculo DNI, introduce número$nl" read -r ndni [ -z "${ndni//[0-9]}" ] && [ -n "$ndni" ] || echo "Sólo números" && exit $ERROR else ndni=$1 fi modulo () { return $(( $ndni % 23 )) } modulo ndni mod=$? echo $ndni-${LETRAS:$mod:1} exit $NORMAL
La จดหมาย DNI ของเรา มันสอดคล้องกับ โมดูลหมายเลข 23. นี่คือ, เราหารจำนวนด้วย 23 y แทนที่จะดูที่ผลหาร เราสังเกตส่วนที่เหลือ. คำอื่น ๆ เช่น ตัวเลขหารด้วย 23 จะให้ศูนย์, ตัวอักษรว่า สอดคล้องกับมันคือ« T »ตั้งแต่นี้ คือตำแหน่ง 0อย่างที่เราเห็นในสคริปต์ด้านบน สตริงย่อยทั้งหมดเริ่มนับจากศูนย์. นั่นคือด้วยโมดูลเราจะได้รับตัวเลขเสมอ ระหว่าง 0 (ตัวอักษร "T") ถึง 22 (ตัวอักษร "O"). ใน Bash เช่นเดียวกับในภาษาอื่น ๆ โมดูลได้มาจากตัวดำเนินการเปอร์เซ็นต์«% ».
ใน บรรทัดที่ 5 เรากำหนดตัวอักษร ในการสั่งซื้อของคุณ เห็นได้ชัดว่า ไม่สามารถเปลี่ยนแปลงคำสั่งซื้อได้ เพื่อผลลัพธ์ที่น่าเชื่อถือ ใน if ของบรรทัด 9 เรากำลังถาม หากเมื่อเรียกสคริปต์มีตัวเลขเป็นพารามิเตอร์. หากไม่มีพารามิเตอร์เราขอบนแป้นพิมพ์พร้อมคำแนะนำในบรรทัดที่ 11 ถึง 13 หากสคริปต์ถูกเรียกด้วยตัวเลขเพื่อคำนวณลำดับในบรรทัดที่ 15 ให้กำหนดพารามิเตอร์นี้ให้กับตัวแปร« ndni »
ในบรรทัดที่ 23 เราอ้างถึงฟังก์ชันโมดูโลผ่านพารามิเตอร์ของ ตัวแปร« ndni »ไม่ว่าจะถูกรวบรวมเป็นพารามิเตอร์ใน bash หรือโดยแป้นพิมพ์เป็นอินพุต. ในบรรทัดที่ 24 การกลับมาของฟังก์ชันถูกกำหนดให้กับตัวแปร« mod » บนเส้น 25 มแสดงตัวเลขขีดกลางและตัวอักษรที่สอดคล้องกับตำแหน่งตามการคำนวณโมดูลัสและสตริงย่อย.
ทดสอบสคริปต์ DNI ของเรา
$ ./dni 12345678 12345678-Z
O ดี,
$ ./dni Cálculo DNI, Introduce número
สคริปต์ทั้งหมดของเราควรมีพารามิเตอร์ "-a" สำหรับผู้เขียนและอีกตัว "-h" สำหรับความช่วยเหลือและไวยากรณ์ ดังที่เราได้เห็นในบทความก่อนหน้านี้หรือฉันฝากไว้ให้คุณเพื่อหลีกเลี่ยงการทำให้โค้ดยุ่งยากขึ้น
ฉันหวังว่าบทความนี้จะเป็นที่สนใจของคุณ
สวัสดีมีใครช่วยฉันได้บ้างฉันต้องติดตั้ง lubuntu ลงในเดสก์ท็อปเครื่องเก่า แต่มันไม่ยอมให้ฉันติดตั้งผ่าน USB และไดรฟ์ดีวีดีเสียหายฉันแค่ต้องการติดตั้ง http://www.plop.at เป็น Ubuntu 16.04 LTS แต่ไม่รู้จะทำอย่างไร ขอบคุณ
โอมาร์
ดังที่คุณกล่าวไว้สถานการณ์ไม่น่าเป็นไปได้: ไม่อนุญาตให้ใช้ USB และไดรฟ์ดีวีดีเสียหาย แต่คุณยังแสดงความคิดเห็นว่า "คอมพิวเตอร์เก่า" นั่นหมายความว่าคุณมีเครื่องใหม่ ลองวางการติดตั้งลงในฮาร์ดไดรฟ์จากคอมพิวเตอร์ที่ใช้งานได้และพยายามติดตั้งจากไดรฟ์นั้น
ความนับถือ
คุณมีคอมพิวเตอร์และกล่องแบบถอดได้หรือไม่? ติดตั้งฮาร์ดไดรฟ์ของคอมพิวเตอร์เครื่องเก่าในกล่อง usb แบบถอดได้และเริ่มดิสก์การติดตั้ง
Linux และ Unix ไม่คำนึงถึงฮาร์ดแวร์ที่ระดับการบูตซึ่งคุณสามารถใส่ดิสก์ได้อีกครั้งเมื่อติดตั้ง linux
ขอบคุณมากฉันบอกคุณว่าสิ่งที่ฉันทำคือเปลี่ยนจาก Ubuntu 16.04 เป็น Lubuntu 16.04 ภายในระบบปฏิบัติการเดียวกันฮิฮิคอมพิวเตอร์เครื่องเก่าของฉันก็ใช้งานได้ดีสวัสดีทักทายจากโคลอมเบีย