OILS / test / gold / nix.sh View on Github | oilshell.org

32 lines, 18 significant
1#!/usr/bin/env bash
2#
3# Copied from hard-coded-descriptors/ in oilshell/blog-code, which was copied
4# from Nix setup.sh. See issue #26.
5
6set -o nounset
7set -o pipefail
8set -o errexit
9
10# My simpler rewrite.
11isElfSimple() {
12 local path=$1 # double quotes never necessary on RHS
13 local magic
14
15 # read 4 bytes from $path, without escaping, into $magic var
16 read -r -n 4 magic < "$path"
17
18 # Return the exit code of [[
19 [[ "$magic" =~ ELF ]]
20}
21
22isElfSimpleWithStdin() {
23 seq 3 > /tmp/3.txt
24 while read line; do
25 echo $line
26 isElfSimple /bin/true && echo YES
27 isElfSimple $0 || echo NO
28 echo
29 done < /tmp/3.txt
30}
31
32"$@"