Skip to content

Commit f79ac0b

Browse files
authored
Merge pull request #107 from madsnedergaard/mn/improve-base-dir-resolving
fix(scripts): Allow using from parent directories
2 parents 4f73a73 + 2e9ec3d commit f79ac0b

File tree

9 files changed

+85
-26
lines changed

9 files changed

+85
-26
lines changed

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ JDK 1.8 or later
3131
```shell
3232
$ wget https://github.com/leonchen83/redis-rdb-cli/releases/latest/download/redis-rdb-cli-release.zip
3333
$ unzip redis-rdb-cli-release.zip
34-
$ cd ./redis-rdb-cli/bin
35-
$ ./rct -h
34+
$ ./redis-rdb-cli/bin/rct -h
3635
```
3736

3837
## Compiling from Source
@@ -48,8 +47,7 @@ Maven 3.3.1 or later
4847
$ git clone https://github.com/leonchen83/redis-rdb-cli.git
4948
$ cd redis-rdb-cli
5049
$ mvn clean install -Dmaven.test.skip=true
51-
$ cd target/redis-rdb-cli-release/redis-rdb-cli/bin
52-
$ ./rct -h
50+
$ cd ./target/redis-rdb-cli-release/redis-rdb-cli/bin/rct -h
5351
```
5452

5553
## Running with Docker
@@ -63,6 +61,7 @@ $ rct -V
6361

6462
To run the commands from any directory, add the `/path/to/redis-rdb-cli/bin` directory to your system's `Path` environment variable.
6563

64+
6665
## Usage
6766

6867
### Mass Insertion

src/main/assembly/bin/rct

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,19 @@ if [[ "$_java" ]]; then
2020
fi
2121
fi
2222

23-
base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..
23+
# Resolve script directory, handling symlinks
24+
SCRIPT_PATH="$0"
25+
while [ -L "$SCRIPT_PATH" ]; do
26+
SCRIPT_PATH=$(readlink "$SCRIPT_PATH")
27+
# If relative symlink, resolve relative to original dir
28+
if [[ "$SCRIPT_PATH" != /* ]]; then
29+
SCRIPT_PATH="$( cd "$( dirname "$0" )" >/dev/null 2>&1 && pwd )/$SCRIPT_PATH"
30+
fi
31+
done
32+
SCRIPT_DIR="$( cd "$( dirname "$SCRIPT_PATH" )" >/dev/null 2>&1 && pwd )"
33+
base_dir="$SCRIPT_DIR/.."
2434

2535
case "$(uname -s)" in
26-
Darwin) base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
27-
Linux) base_dir="$( cd "$( dirname "$(readlink -f "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
2836
*CYGWIN*) base_dir=`cygpath -w "$base_dir"`;;
2937
*MSYS*) base_dir=`cygpath -w "$base_dir"`;;
3038
esac

src/main/assembly/bin/rct.cmd

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@ echo NB: JAVA_HOME should point to a JDK not a JRE >&2
2121
goto error
2222

2323
:chkMHome
24-
set "RCT_HOME=%~dp0.."
24+
rem Get directory of this script, then go one level up (redis-rdb-cli)
25+
pushd "%~dp0\.." >nul
26+
set "RCT_HOME=%CD%"
27+
popd >nul
28+
2529
if not "%RCT_HOME%"=="" goto stripMHome
2630
goto error
2731

src/main/assembly/bin/rcut

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,19 @@ if [[ "$_java" ]]; then
2020
fi
2121
fi
2222

23-
base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..
23+
# Resolve script directory, handling symlinks
24+
SCRIPT_PATH="$0"
25+
while [ -L "$SCRIPT_PATH" ]; do
26+
SCRIPT_PATH=$(readlink "$SCRIPT_PATH")
27+
# If relative symlink, resolve relative to original dir
28+
if [[ "$SCRIPT_PATH" != /* ]]; then
29+
SCRIPT_PATH="$( cd "$( dirname "$0" )" >/dev/null 2>&1 && pwd )/$SCRIPT_PATH"
30+
fi
31+
done
32+
SCRIPT_DIR="$( cd "$( dirname "$SCRIPT_PATH" )" >/dev/null 2>&1 && pwd )"
33+
base_dir="$SCRIPT_DIR/.."
2434

2535
case "$(uname -s)" in
26-
Darwin) base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
27-
Linux) base_dir="$( cd "$( dirname "$(readlink -f "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
2836
*CYGWIN*) base_dir=`cygpath -w "$base_dir"`;;
2937
*MSYS*) base_dir=`cygpath -w "$base_dir"`;;
3038
esac

src/main/assembly/bin/rdt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,19 @@ if [[ "$_java" ]]; then
2020
fi
2121
fi
2222

23-
base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..
23+
# Resolve script directory, handling symlinks
24+
SCRIPT_PATH="$0"
25+
while [ -L "$SCRIPT_PATH" ]; do
26+
SCRIPT_PATH=$(readlink "$SCRIPT_PATH")
27+
# If relative symlink, resolve relative to original dir
28+
if [[ "$SCRIPT_PATH" != /* ]]; then
29+
SCRIPT_PATH="$( cd "$( dirname "$0" )" >/dev/null 2>&1 && pwd )/$SCRIPT_PATH"
30+
fi
31+
done
32+
SCRIPT_DIR="$( cd "$( dirname "$SCRIPT_PATH" )" >/dev/null 2>&1 && pwd )"
33+
base_dir="$SCRIPT_DIR/.."
2434

2535
case "$(uname -s)" in
26-
Darwin) base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
27-
Linux) base_dir="$( cd "$( dirname "$(readlink -f "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
2836
*CYGWIN*) base_dir=`cygpath -w "$base_dir"`;;
2937
*MSYS*) base_dir=`cygpath -w "$base_dir"`;;
3038
esac

src/main/assembly/bin/ret

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,19 @@ if [[ "$_java" ]]; then
2020
fi
2121
fi
2222

23-
base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..
23+
# Resolve script directory, handling symlinks
24+
SCRIPT_PATH="$0"
25+
while [ -L "$SCRIPT_PATH" ]; do
26+
SCRIPT_PATH=$(readlink "$SCRIPT_PATH")
27+
# If relative symlink, resolve relative to original dir
28+
if [[ "$SCRIPT_PATH" != /* ]]; then
29+
SCRIPT_PATH="$( cd "$( dirname "$0" )" >/dev/null 2>&1 && pwd )/$SCRIPT_PATH"
30+
fi
31+
done
32+
SCRIPT_DIR="$( cd "$( dirname "$SCRIPT_PATH" )" >/dev/null 2>&1 && pwd )"
33+
base_dir="$SCRIPT_DIR/.."
2434

2535
case "$(uname -s)" in
26-
Darwin) base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
27-
Linux) base_dir="$( cd "$( dirname "$(readlink -f "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
2836
*CYGWIN*) base_dir=`cygpath -w "$base_dir"`;;
2937
*MSYS*) base_dir=`cygpath -w "$base_dir"`;;
3038
esac

src/main/assembly/bin/rmonitor

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,19 @@ if [[ "$_java" ]]; then
2020
fi
2121
fi
2222

23-
base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..
23+
# Resolve script directory, handling symlinks
24+
SCRIPT_PATH="$0"
25+
while [ -L "$SCRIPT_PATH" ]; do
26+
SCRIPT_PATH=$(readlink "$SCRIPT_PATH")
27+
# If relative symlink, resolve relative to original dir
28+
if [[ "$SCRIPT_PATH" != /* ]]; then
29+
SCRIPT_PATH="$( cd "$( dirname "$0" )" >/dev/null 2>&1 && pwd )/$SCRIPT_PATH"
30+
fi
31+
done
32+
SCRIPT_DIR="$( cd "$( dirname "$SCRIPT_PATH" )" >/dev/null 2>&1 && pwd )"
33+
base_dir="$SCRIPT_DIR/.."
2434

2535
case "$(uname -s)" in
26-
Darwin) base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
27-
Linux) base_dir="$( cd "$( dirname "$(readlink -f "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
2836
*CYGWIN*) base_dir=`cygpath -w "$base_dir"`;;
2937
*MSYS*) base_dir=`cygpath -w "$base_dir"`;;
3038
esac

src/main/assembly/bin/rmt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,19 @@ if [[ "$_java" ]]; then
2020
fi
2121
fi
2222

23-
base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..
23+
# Resolve script directory, handling symlinks
24+
SCRIPT_PATH="$0"
25+
while [ -L "$SCRIPT_PATH" ]; do
26+
SCRIPT_PATH=$(readlink "$SCRIPT_PATH")
27+
# If relative symlink, resolve relative to original dir
28+
if [[ "$SCRIPT_PATH" != /* ]]; then
29+
SCRIPT_PATH="$( cd "$( dirname "$0" )" >/dev/null 2>&1 && pwd )/$SCRIPT_PATH"
30+
fi
31+
done
32+
SCRIPT_DIR="$( cd "$( dirname "$SCRIPT_PATH" )" >/dev/null 2>&1 && pwd )"
33+
base_dir="$SCRIPT_DIR/.."
2434

2535
case "$(uname -s)" in
26-
Darwin) base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
27-
Linux) base_dir="$( cd "$( dirname "$(readlink -f "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
2836
*CYGWIN*) base_dir=`cygpath -w "$base_dir"`;;
2937
*MSYS*) base_dir=`cygpath -w "$base_dir"`;;
3038
esac

src/main/assembly/bin/rst

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,19 @@ if [[ "$_java" ]]; then
2020
fi
2121
fi
2222

23-
base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..
23+
# Resolve script directory, handling symlinks
24+
SCRIPT_PATH="$0"
25+
while [ -L "$SCRIPT_PATH" ]; do
26+
SCRIPT_PATH=$(readlink "$SCRIPT_PATH")
27+
# If relative symlink, resolve relative to original dir
28+
if [[ "$SCRIPT_PATH" != /* ]]; then
29+
SCRIPT_PATH="$( cd "$( dirname "$0" )" >/dev/null 2>&1 && pwd )/$SCRIPT_PATH"
30+
fi
31+
done
32+
SCRIPT_DIR="$( cd "$( dirname "$SCRIPT_PATH" )" >/dev/null 2>&1 && pwd )"
33+
base_dir="$SCRIPT_DIR/.."
2434

2535
case "$(uname -s)" in
26-
Darwin) base_dir="$( cd "$( dirname "$(readlink "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
27-
Linux) base_dir="$( cd "$( dirname "$(readlink -f "$0")" )" >/dev/null 2>&1 && pwd )"/..;;
2836
*CYGWIN*) base_dir=`cygpath -w "$base_dir"`;;
2937
*MSYS*) base_dir=`cygpath -w "$base_dir"`;;
3038
esac

0 commit comments

Comments
 (0)