I get:
root@dm820:~# ExecStart=/usr/bin/curl'https://dynupdate.no-ip.com/nic/update' --header "Authorization: Basic <$xxxx:$xxx>" -d 'hostname=<hostname>.xxxx.ddns.net'
-sh: --header: command not found
I get:
root@dm820:~# ExecStart=/usr/bin/curl'https://dynupdate.no-ip.com/nic/update' --header "Authorization: Basic <$xxxx:$xxx>" -d 'hostname=<hostname>.xxxx.ddns.net'
-sh: --header: command not found
what do I make wrong?
ExecStart=/usr/bin/curl'https://dynupdate.no-ip.com/nic/update' --header "Authorization: Basic <$xxxx:$xxx>" -d 'hostname=<hostname>.xxxx.ddns.net'
You're defining ExecStart
variable and trying to run --header
. The syntax is like
foo=bar some_command option1 option2
You're using the full path /usr/bin/curl
. Unless you know it's right and you need the full path, you should rely on your $PATH
and use just curl
.
You have no space after curl
.
You're trying to run curl
as root.
You're running a command (like random code from the Internet?) you apparently don't understand as root.
To fix:
ExecStart=
, it's a part of systemd syntax.curl
.curl
.It will be like
curl 'https://dynupdate.no-ip.com/nic/update' --header "Authorization: Basic <$xxxx:$xxx>" -d 'hostname=<hostname>.xxxx.ddns.net'
where <$xxxx:$xxx>
and <hostname>
are still placeholders you need to change to something valid.
curl https://dynupdate.no-ip.com/nic/update --user '$xxxx:$xxx' -d 'hostname=<hostname>.xxxx.ddns.net'
Dec 6, 2018 at 12:30
curl
and such to tell if you're right. The answer is now community wiki, so please improve it freely.
Dec 6, 2018 at 12:33
If you want to run this from the command line and not from systemd
, you have to run it like this:
curl 'https://dynupdate.no-ip.com/nic/update' --header "Authorization: Basic <$xxxx:$xxx>" -d 'hostname=<hostname>.xxxx.ddns.net'