How to generate a bash script with an embeeded tar.gz (self-extract)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| > cat extract.sh #!/bin/bash echo "Extracting file into `pwd`" # searches for the line number where finish the script and start the tar.gz SKIP=` awk '/^__TARFILE_FOLLOWS__/ { print NR + 1; exit 0; }' $0` #remember our file name THIS=` pwd `/$0 # take the tarfile and pipe it into tar tail -n +$SKIP $THIS | tar -xz # Any script here will happen after the tar file extract. echo "Finished" exit 0 # NOTE: Don't place any newline characters after the last line below. __TARFILE_FOLLOWS__ |
3) Concatenate The script and the tar file together.
1
2
| > cat extract.sh example. tar .gz > example.sh > chmod +x example.sh |
4) Now test in another directory.
1
2
3
| > cp example.sh /tmp > cd /tmp > . /example .sh |
Comments
Post a Comment