How do I fix this error? I can\'t see anything wrong with my syntax.
ipcheck() {
echolog \"[INFO] Enabling IP Forwarding...\"
sudo echo 1 > /proc/sys/
Shell scripting tends to be a lot more whitespace sensitive than you might be used to if you've come from other programming languages (read: C). Your if
line has the problems. You are probably looking for:
if [ $(cat /proc/sys/net/ipv4/ip_forward) == "0" ]
The thing to remember here is that [
is not part of any special if
syntax - it's the name of a program (sometimes a shell builtin). If you think of it like that, you can see how the command line parser needs it to be separated. Similarly, the [
command (or builtin) expects the closing ]
to be separated from its other arguments, so you need a space before it, too.