#!/bin/bash
+errlog()
+{
+ local lastexit=$?
+ local msg="$1"
+
+ echo "❌ ERROR: $msg"
+ echo "🛑 EXIT $lastexit"
+ return $lastexit
+}
+
main()
{
local file="$1"
+
+ [ -n "$file" ] \
+ || "missing file" \
+ || return $?
+ [ -f "$file" ] \
+ || errlog "file $file does not exists" \
+ || return $?
+
local dir=$(dirname "$file")
local regex="^#include \"\(.*\)\"$"
| sed "s/$regex/\1/")
local include_file=
+ local include_regex=
local out=$(cat $file)
for include_file in $include_files; do
- local include_regex="#include \"$include_file\""
+ [ -f $dir/$include_file ] \
+ || errlog "file $include_file does not exists" \
+ || return $?
+
+ include_regex="#include \"$include_file\""
out=$(echo "$out" \
| sed "/$include_regex/r $dir/$include_file" \
| sed "/$include_regex/d")