diff options
-rw-r--r-- | tiny-ec2-bootstrap | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/tiny-ec2-bootstrap b/tiny-ec2-bootstrap index e8c44ab..944446d 100644 --- a/tiny-ec2-bootstrap +++ b/tiny-ec2-bootstrap | |||
@@ -54,12 +54,19 @@ _set_ssh_keys() { | |||
54 | } | 54 | } |
55 | 55 | ||
56 | _run_userdata() { | 56 | _run_userdata() { |
57 | user_data=$(_get_metadata user-data) | 57 | local user_data="$(_get_metadata user-data)" |
58 | if echo "$user_data" | grep -q '^#!/'; then | 58 | if printf '%s' "$user_data" | head -n1 | grep -q '^#!/'; then |
59 | echo "$user_data" > /var/lib/cloud/user-data.sh | 59 | printf '%s' "$user_data" >/var/lib/cloud/user-data.sh |
60 | chmod +x /var/lib/cloud/user-data.sh | 60 | chmod +x /var/lib/cloud/user-data.sh |
61 | /var/lib/cloud/user-data.sh 2>&1 | tee /var/log/cloud-bootstrap.log | 61 | |
62 | echo "User Data Script Exit Status: $?" | 62 | local log_file=/var/log/cloud-bootstrap.log |
63 | local ec_file=/var/log/cloud-bootstrap.exit | ||
64 | |||
65 | { /var/lib/cloud/user-data.sh 2>&1 ; echo $? >"$ec_file"; } | tee "$log_file" | ||
66 | ec=$(cat "$ec_file") | ||
67 | |||
68 | echo "User Data Script Exit Status: $ec" | ||
69 | return $ec | ||
63 | fi | 70 | fi |
64 | } | 71 | } |
65 | 72 | ||