aboutsummaryrefslogtreecommitdiffstats
path: root/tools/fs_write.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/fs_write.sh')
-rwxr-xr-xtools/fs_write.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/fs_write.sh b/tools/fs_write.sh
new file mode 100755
index 0000000..bc97c34
--- /dev/null
+++ b/tools/fs_write.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+set -e
+
+# @describe Write the contents to a file at the specified path.
+# If the file exists, only the necessary changes will be applied.
+# If the file doesn't exist, it will be created.
+# Always provide the full intended contents of the file.
+
+# @env FS_BASE_DIR=. The base dir
+# @option --path! The path of the file to write to
+# @option --contents! The full contents to write to the file
+
+main() {
+ path="$FS_BASE_DIR/$argc_path"
+ mkdir -p "$(dirname "$path")"
+ printf "%s" "$argc_contents" > "$path"
+ echo "The contents written to: $path"
+}
+
+eval "$(argc --argc-eval "$0" "$@")"