当您上学的学校已经发布了剧本时,表达您的疑虑的最佳位置是与您的老师交流。
也就是说,我们可以帮助您逐行解密代码。对于这里的任何人来说,分析所有代码可能都不切实际。
实际上,您有40个bash脚本,总共5360行。我将它们组合在一起,并寻找可能被滥用的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似乎可以安全使用。 
它不是人类可读的bash脚本,您需要担心的太多。它是引起您关注的无法阅读的已编译二进制对象。例如,一个名为“ shiny-bouncy-sphere”的程序可能会在屏幕上绘制类似的内容,但在后台它可能会擦除所有文件。
原始答案
最好询问脚本的作者。实际上,您几乎可以按原样张贴问题,就像上面显示的那样。
还要问作者:
- 什么文件被更新?
 
- 如果由于电源故障或程序错误而崩溃,该怎么办?
 
- 可以先执行小型备份吗?
 
还有其他您可以想到的好问题。
编辑1-担心恶意作者。
您只应使用具有良好公众评价的软件。或者,您在此处信任Ask Ask Ubuntu的作者,例如Serge,Jacob,Colin King等。其他受尊敬的网站,如Ask Ubuntu及其受尊敬的成员,也应视为“非恶意”。
Ask Ubuntu中“受人尊敬的作者”的优势在于,他们将自己的价值押在“声誉点”上。如果他们有意编写“窃取”或“损坏”数据的代码,他们将很快失去声誉。确实,作者可能会遭受“ mods的愤怒”并被暂停和/或夺走10,000的声誉点。
编辑2-不要遵循所有指示
我对您的bash脚本说明进行了更深入的研究:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker &&
    cd ~/42FileChecker &&
    bash ./42FileChecker.sh
“安全”方法仅运行第一行:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker
这将下载脚本,但不会运行它们。下次使用nautilus(文件管理器)检查安装的目录和文件。很快,您就会发现法国一群学生编写的bash脚本集合。
脚本的目的是编译和测试C程序是否存在不正确的功能和内存泄漏。
               
              
man包含的命令上的页面。