If you really have some command named 'sed/^[]*$/ d' you will run that command without passing any arguments to it. You probably wanted to run the sed command passing an argument to it. You will need a space or tab between the word "sed" and the argument to do this. Then the sed command will see the rest of the line as a sed command and choke on it. The presence or absence of a space before the d does not help. The problem is that the empty braces are illegal.