how to write this in one line ?
reboot -d 5 -f & ;echo 666
then it tells me
-sh: syntax error: unexpected ";"
I use follow replace before to test to avoid reboot and easy to test
echo 555 & ; echo 666
-sh: syntax error: unexpected ";
I have try others
[root@EPC-M6Y2C ~]# `echo 555 & `&& echo 666
-sh: 555: not found
[root@EPC-M6Y2C ~]# `echo 555 & ` ; echo 666
-sh: 555: not found
666
CodePudding user response:
Both &
and ;
terminate lists. &
causes the list to run in the background, ;
in the foreground.
If you use both, the &
terminates the list and the ;
tries to terminate an empty list, which is not allowed.
Just drop the ;
:
reboot -d 5 -f & echo 666
CodePudding user response:
You would get the same error if you just wrote an isolated
;
For the same reason, you can not write i.e. echo x;;echo y
. If you want to write an empty statement (no-op), use :
as a placeholder, i.e.
echo x; :; echo y
works fine. In your case, this would be
reboot -d 5 -f & : ;echo 666
However, I would simply drop the no-op and write
reboot -d 5 -f & echo 666