Сценарий оболочки: если оператор не работает так, как я хочу - PullRequest
0 голосов
/ 09 февраля 2020

Я написал сценарий оболочки (для практики), который должен скомпилировать файл C ++ (.cpp), автоматически сгенерировать исполняемый файл с clang++ и выполнить его. Мой код:

#!/bin/bash

function runcpp() {
  CPPFILE=$1
  if [ -z $CPPFILE ]; then
    echo "You need to specify a path to your .cpp file!"
  else
    echo -n "Checking if '$CPPFILE' is a valid file..."
    if [[ $CPPFILE == "*.cpp" ]]; then
      echo -e "\rChecking if '$CPPFILE' is a valid file... successful"
      echo -n "Generating executable for '$CPPFILE'..."
      clang++ $CPPFILE
      echo -e "\rGenerating executable for '$CPPFILE'... done"
    fi
  fi

}

Это еще не сделано, однако в строке 9 (if [[ $CPPFILE == "*.cpp" ]]; then) что-то идет не так: скрипт завершается, даже если указанный мной файл является .cpp файлом. Окно «Мой терминал»:

kali@kali:~$ ls -lha *.cpp
-rw-r--r-- 1 kali kali 98 Feb  9 19:35 test.cpp
kali@kali:~$ runcpp test.cpp 
Checking if 'test.cpp' is a valid file...kali@kali:~$
...