1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/bin/bash
-
- # Function to create symbolic links and copy .js files
- manage_files() {
- # Define the source (folder a) and destination (folder b)
- folder_a="$1"
- folder_b="$2"
-
- # Ensure both folders exist
- if [[ ! -d "$folder_a" ]]; then
- echo "Source folder '$folder_a' does not exist!"
- return 1
- fi
-
- if [[ ! -d "$folder_b" ]]; then
- echo "Destination folder '$folder_b' does not exist!"
- return 1
- fi
-
- # Get the absolute paths of the source and destination folders
- abs_folder_a=$(realpath "$folder_a")
- abs_folder_b=$(realpath "$folder_b")
-
- # 1. Create symbolic links for files in folder_a to folder_b with absolute paths
- for file in "$abs_folder_a"/*; do
- # Check if it's a regular file
- if [[ -f "$file" ]]; then
- filename=$(basename "$file")
- destination="$abs_folder_b/$filename"
-
- # Check if the file already exists in folder_b
- if [[ ! -e "$destination" ]]; then
- # Create a symbolic link in folder_b with absolute paths
- ln -s "$file" "$destination"
- echo "Linked '$file' to '$destination'"
- else
- echo "File '$destination' already exists, skipping..."
- fi
- fi
- done
-
- # 2. Remove all symbolic links to .js files in folder_b
- find "$abs_folder_b" -type l -name "*.js" -exec rm {} \;
- echo "All symbolic links to .js files have been removed."
-
- # 3. Copy missing .js files from folder_a to folder_b
- for file in "$abs_folder_a"/*.js; do
- # Ensure it is a regular file
- if [[ -f "$file" ]]; then
- filename=$(basename "$file")
- destination="$abs_folder_b/$filename"
-
- # Check if the file already exists in folder_b
- if [[ ! -e "$destination" ]]; then
- # Copy the .js file from folder_a to folder_b
- cp "$file" "$destination"
- echo "Copied '$file' to '$destination'"
- else
- echo "File '$destination' already exists, skipping..."
- fi
- fi
- done
- }
-
- # Example of calling the function on multiple folder pairs
-
- manage_files "./chess-server-lib/common/models" "./cihsr-server/cihsr/models"
- manage_files "./chess-server-lib/common/lib/vmodel" "./cihsr-server/cihsr/lib/vmodel"
-
- rm "./cihsr-server/cihsr/models/labrtfresult.js"
- rm "./cihsr-server/cihsr/models/dataimport.js"
- rm "./cihsr-server/cihsr/models/birthcertificate.js"
- rm "./cihsr-server/cihsr/models/alternatemap.js"
- rm "./cihsr-server/cihsr/models/labcollection.js"
- rm "./cihsr-server/cihsr/models/purchasereturn.js"
- rm "./cihsr-server/cihsr/models/purchasereturnitem.js"
- rm "./cihsr-server/cihsr/models/journalgroup.js"
- rm "./cihsr-server/cihsr/models/sageopbill.js"
- rm "./cihsr-server/cihsr/models/elixirlaborder.js"
- rm "./cihsr-server/cihsr/models/pacsorderitem.js"
|