.automated_script.sh 805 Bytes
Newer Older
nl6720's avatar
nl6720 committed
1
#!/usr/bin/env bash
2
3
4
5
6
7

script_cmdline ()
{
    local param
    for param in $(< /proc/cmdline); do
        case "${param}" in
8
            script=*) echo "${param#*=}" ; return 0 ;;
9
10
11
12
13
14
15
16
17
        esac
    done
}

automated_script ()
{
    local script rt
    script="$(script_cmdline)"
    if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
18
        if [[ "${script}" =~ ^((http|https|ftp)://) ]]; then
19
            curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script >/dev/null
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
            rt=$?
        else
            cp "${script}" /tmp/startup_script
            rt=$?
        fi
        if [[ ${rt} -eq 0 ]]; then
            chmod +x /tmp/startup_script
            /tmp/startup_script
        fi
    fi
}

if [[ $(tty) == "/dev/tty1" ]]; then
    automated_script
fi