Use relative paths in install script template
This commit is contained in:
parent
7f3b4accb0
commit
b8ab419067
1 changed files with 29 additions and 1 deletions
|
|
@ -3,7 +3,35 @@
|
||||||
# result = "#! /bin/sh\n# Generated by niminst\n"
|
# result = "#! /bin/sh\n# Generated by niminst\n"
|
||||||
# var proj = c.name.toLower
|
# var proj = c.name.toLower
|
||||||
|
|
||||||
set -e
|
## Current directory you start script from
|
||||||
|
BASE_DIR=$(pwd)
|
||||||
|
|
||||||
|
## The following one-liner takes directory path which contains install script.
|
||||||
|
## `command -v -- "$0"` takes path if script sourced from interactive shell
|
||||||
|
## `dirname` returns relative directory path to install script
|
||||||
|
## `cd -P` dive into directory to use `pwd`
|
||||||
|
## `pwd -P` prints full path to install script directory path
|
||||||
|
## -P option allows to use symlinks in path
|
||||||
|
## Good explanation can be found here:
|
||||||
|
## http://stackoverflow.com/questions/29832037/how-to-get-script-directory-in-posix-sh
|
||||||
|
NIM_DIR=$(cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P)
|
||||||
|
|
||||||
|
go_back() {
|
||||||
|
cd $BASE_DIR
|
||||||
|
}
|
||||||
|
|
||||||
|
## Go to base dir on exit
|
||||||
|
trap go_back EXIT
|
||||||
|
|
||||||
|
install_error() {
|
||||||
|
echo "Nim installation failed!"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
## Exit if any command failed
|
||||||
|
trap install_error ERR ## `set -e` alternative
|
||||||
|
|
||||||
|
cd $NIM_DIR
|
||||||
|
|
||||||
if [ $# -eq 1 ] ; then
|
if [ $# -eq 1 ] ; then
|
||||||
# if c.cat[fcUnixBin].len > 0:
|
# if c.cat[fcUnixBin].len > 0:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue