mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 16:41:43 +05:30
Create target directory if required
Remove hardcoded target directory
This commit is contained in:
27
bootstrap.sh
27
bootstrap.sh
@@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
@@ -27,15 +26,15 @@ CREATE_LINKS="n"
|
|||||||
|
|
||||||
while [[ "${#}" -gt 0 ]]; do
|
while [[ "${#}" -gt 0 ]]; do
|
||||||
case $1 in
|
case $1 in
|
||||||
-q|--quiet)
|
-q | --quiet)
|
||||||
QUIET="y"
|
QUIET="y"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-l|--create-links)
|
-l | --create-links)
|
||||||
CREATE_LINKS="y"
|
CREATE_LINKS="y"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-h|--help)
|
-h | --help)
|
||||||
echo
|
echo
|
||||||
usage
|
usage
|
||||||
echo
|
echo
|
||||||
@@ -48,27 +47,29 @@ while [[ "${#}" -gt 0 ]]; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
main () {
|
main() {
|
||||||
TS=$(date '+%d_%m_%Y-%H_%M_%S')
|
TS=$(date '+%d_%m_%Y-%H_%M_%S')
|
||||||
SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
|
SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE")" > /dev/null 2>&1 && pwd)"
|
||||||
|
|
||||||
find . -type f ! -name "$0" ! -path '*/.idea/*' ! -path '*/.git/*' ! -name 'LICENSE' ! -name 'README.md' -print0 | while IFS= read -r -d '' file
|
find . -type f ! -name "$0" ! -path '*/.idea/*' ! -path '*/.git/*' ! -name 'LICENSE' ! -name 'README.md' -print0 | while IFS= read -r -d '' file; do
|
||||||
do
|
|
||||||
# Replaces `.` with `~` in the found file names
|
# Replaces `.` with `~` in the found file names
|
||||||
# target_file="${file/./~}"
|
target_file="${file/./~}"
|
||||||
target_file="${file/.//media/pratik/Projects/Code/dotfiles-test}"
|
|
||||||
|
|
||||||
if [[ -f "${target_file}" ]]
|
if [[ -f "${target_file}" ]]; then
|
||||||
then
|
|
||||||
mv "$target_file" "${target_file}_${TS}" && [[ "$QUIET" == "n" ]] && echo "Existing setting renamed to ${target_file}_${TS}"
|
mv "$target_file" "${target_file}_${TS}" && [[ "$QUIET" == "n" ]] && echo "Existing setting renamed to ${target_file}_${TS}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
target_directory=$(dirname "${target_file}")
|
||||||
|
if [[ ! -d "${target_directory}" ]]; then
|
||||||
|
mkdir -p "${target_directory}" && [[ "$QUIET" == "n" ]] && echo "Directory ${target_directory} created"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$CREATE_LINKS" == "y" ]]; then
|
if [[ "$CREATE_LINKS" == "y" ]]; then
|
||||||
ln -s "${file/./${SCRIPT_DIR}}" "${target_file}" && [[ "$QUIET" == "n" ]] && echo "Linked ${target_file}"
|
ln -s "${file/./${SCRIPT_DIR}}" "${target_file}" && [[ "$QUIET" == "n" ]] && echo "Linked ${target_file}"
|
||||||
else
|
else
|
||||||
cp "${file/./${SCRIPT_DIR}}" "${target_file}" && [[ "$QUIET" == "n" ]] && echo "Copied ${target_file}"
|
cp "${file/./${SCRIPT_DIR}}" "${target_file}" && [[ "$QUIET" == "n" ]] && echo "Copied ${target_file}"
|
||||||
fi
|
fi
|
||||||
done;
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
|
|||||||
Reference in New Issue
Block a user