Working on link_apps script

This commit is contained in:
2021-12-29 23:25:36 -05:00
parent 86098a7116
commit 0623aad631
3 changed files with 63 additions and 1 deletions

4
scripts/.local/scripts/chmox Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
# makes files executable
test -f "$1" && chmod +x "$1"

View File

@@ -0,0 +1,58 @@
#!/bin/sh
# Creates symlinks from external application directory
# to another directory so applications are seen in
# spotlight searches and launchpad.
set -e
app_dir=""
destination_dir=""
# Parses the input arguments. If 2 arguments are passed in, then
# the first is where we search for applications (source) and the second
# argument is the destination directory for the symlinks to be placed in
#
# If one argument is passed in, then it is used as the destination directory
# and we use the default source directory.
_parse_args() {
arg_count="$#"
app_dir="/Volumes/M1 Mac-Mini External Drive/Applications"
destination_dir="${HOME}/Application"
if test "$arg_count" -eq 1; then
destination_dir="$1"
elif test "$arg_count" -eq 2; then
app_dir="$1"
destination_dir="$2"
fi
}
# Checks if the `app_dir` exists.
_is_mounted() {
if ! test -d "$app_dir"; then
echo "Application directory does not exist or is not mounted" >&2
return 1
fi
}
# ---------------- main -------------------
main() {
_parse_args "$@"
test -d "${destination_dir}" || echo "Destination does not exist" >&2
if test _is_mounted; then
for app in "${app_dir}"/*.app; do
destination="${destination_dir}/$(basename "${app}")"
if test -e "${destination}"; then
echo "Destination already exists: ${destination}. Skipping!" >&2
continue
fi
# remove echo to do real work.
echo ln -sv "${app}" "${destination}" >&2
done
fi
}
main "$@"