ในขณะที่โรงเรียนที่คุณเข้าร่วมมีการเผยแพร่สคริปต์สถานที่ที่ดีที่สุดในการแสดงความกังวลของคุณก็คือกับผู้สอนของคุณ
ที่กล่าวว่าเราสามารถช่วยคุณถอดรหัสรหัสแบบทีละบรรทัด มันอาจจะทำไม่ได้สำหรับทุกคนที่นี่เพื่อวิเคราะห์ทุกรหัส
คุณมีสคริปต์ทุบตี 40 อันรวม 5,360 บรรทัด ฉันได้รวมมันเข้าด้วยกันแล้วมองหาคำสั่ง bash / shell ที่อาจถูกละเมิด ดูเหมือนว่าจะใช้งานได้ตามปกติ :
$ cat /tmp/sshellcheck.mrg | grep " rm "
      rm -rf "$RETURNPATH"/tmp/*
      rm -f "$RETURNPATH"/.mynorminette
    rm -f $LOGFILENAME
    rm -f $LOGFILENAME
      rm -f .mymoulitest
        rm -f "${RETURNPATH}/tmp/${FILEN}"
$ cat /tmp/sshellcheck.mrg | grep -i kill
  function check_kill_by_name
          kill $PROCESSID0
  declare -a CHK_MINISHELL_AUTHORIZED_FUNCS='(malloc free access open close read write opendir readdir closedir getcwd chdir stat lstat fstat fork execve wait waitpid wait3 wait4 signal kill exit main)'
        check_kill_by_name "${PROGNAME}"
      kill -0 "${CURRENT_CHILD_PROCESS_PID}" 2>/dev/null && kill "${CURRENT_CHILD_PROCESS_PID}" 2>/dev/null
      display_error "killed pid: ${CURRENT_CHILD_PROCESS_PID}"
    check_kill_by_name "$PROGNAME $PROGARGS"
        check_kill_by_name "$PROGNAME $PROGARGS"
        kill ${PID} 2>/dev/null
$ cat /tmp/sshellcheck.mrg | grep -i root
      "check_configure_select ROOT" "Root folder:          /"\
      'ROOT')
        echo "'${ALLOWED_FILES}' must be placed at root folder but was found here:" >>"${LOGFILENAME}"
        printf "%s" "'${ALLOWED_FILES}' must be placed at root folder"
$ cat /tmp/sshellcheck.mrg | grep -i sudo
$ 
- ไม่มี
rm -rf /คำสั่งให้ล้างพาร์ติชันฮาร์ดดิสก์ทั้งหมด 
- ไม่มีข้อกำหนดที่
sudoใช้ในการเรียกใช้สคริปต์ 
- สคริปต์ทำให้แน่ใจได้ว่า
Cมีการใช้งานฟังก์ชันที่ได้รับอนุญาตในการตรวจสอบไฟล์เท่านั้น 
- การเรียกดูอย่างรวดเร็วของรหัส bash / shell แสดงว่ามันถูกเขียนอย่างมืออาชีพและง่ายต่อการติดตาม
 
- การใช้shellcheckเมื่อรวมไฟล์รวมพบข้อผิดพลาดทางไวยากรณ์เพียงสามข้อ
 
- ชื่อผู้แต่งจะถูกระบุและผู้เขียนหลักยังมีรูปภาพของเขาใน
githubหน้า 
- แม้ว่าจะไม่มีการรับประกันในชีวิต แต่
42FileCheckerก็ปลอดภัยที่จะใช้ 
ไม่ใช่สคริปต์ทุบตีที่มนุษย์อ่านได้ซึ่งคุณต้องกังวลมาก มันถูกรวบรวมวัตถุไบนารีที่คุณไม่สามารถอ่านที่เป็นสาเหตุของความกังวล ตัวอย่างเช่นโปรแกรมที่เรียกว่า "Shiny-bouncy-sphere" อาจวาดบางสิ่งเช่นนั้นบนหน้าจอของคุณ แต่ในพื้นหลังอาจเป็นการลบไฟล์ทั้งหมดของคุณ
คำตอบเดิม
ที่ดีที่สุดคือถามผู้เขียนของสคริปต์ว่ามันทำอะไร แน่นอนคุณสามารถโพสต์คำต่อคำของคำถามตามที่ปรากฏด้านบน
ถามผู้เขียนด้วย:
- ไฟล์ใดได้รับการอัพเดต?
 
- จะเกิดอะไรขึ้นหากระบบขัดข้องเนื่องจากไฟฟ้าขัดข้องหรือข้อบกพร่องของโปรแกรม
 
- สามารถทำการสำรองข้อมูลขนาดเล็กก่อนได้หรือไม่?
 
และคำถามที่ดีอื่น ๆ ที่คุณนึกออก
แก้ไข 1 - กังวลเกี่ยวกับผู้เขียนที่เป็นอันตราย
คุณควรใช้ซอฟต์แวร์ที่มีบทวิจารณ์สาธารณะที่ดีมากมาย อีกทางเลือกหนึ่งผู้เขียนที่คุณไว้วางใจใน Ask Ubuntu เช่น Serge, Jacob, Colin King และอื่น ๆ เว็บไซต์ที่น่านับถืออื่น ๆ เช่น Ask Ubuntu และสมาชิกที่น่านับถือของพวกเขาควรได้รับการพิจารณาว่าเป็น "ไม่อันตราย"
ข้อได้เปรียบของ "ผู้เขียนที่เคารพนับถือ" ที่นี่ใน Ask Ubuntu คือพวกเขาเดิมพันคุณค่าของตนเองใน "คะแนนชื่อเสียง" หากพวกเขาตั้งใจเขียนโค้ดที่ "ขโมย" หรือ "เสียหาย" ข้อมูลพวกเขาก็จะเสียชื่อเสียงอย่างรวดเร็ว ผู้เขียนอาจได้รับ "ความโกรธแค้นของ mods" และถูกระงับและ / หรือมีคะแนนชื่อเสียง 10,000 คะแนน
แก้ไข 2 - อย่าทำตามคำแนะนำทั้งหมด
ฉันมองลึกลงไปในคำแนะนำสคริปต์ทุบตีของคุณ:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker &&
    cd ~/42FileChecker &&
    bash ./42FileChecker.sh
วิธี "ปลอดภัย" คือการเรียกใช้บรรทัดแรกเท่านั้น:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker
นี่เป็นการดาวน์โหลดสคริปต์ แต่ไม่ได้เรียกใช้ ใช้ครั้งถัดไปnautilus(ตัวจัดการไฟล์) เพื่อตรวจสอบไดเรกทอรีและไฟล์ที่ติดตั้ง คุณค้นพบอย่างรวดเร็วมากว่ามีกลุ่มของสคริปต์ทุบตีที่เขียนโดยกลุ่มนักเรียนในฝรั่งเศส
วัตถุประสงค์ของสคริปต์คือการรวบรวมและทดสอบโปรแกรม C สำหรับฟังก์ชั่นที่ไม่เหมาะสมและการรั่วไหลของหน่วยความจำ
               
              
manหน้าคำสั่งที่อยู่ในนั้นได้