2

Using Cygwin (W10) I've historically used this to measure the execution time within a script:

#!/bin/sh

(time {
sleep 1;
})

I've now moved to Debian (Windows Subsystem for Linux) and the same script gives this error:

Syntax error: "}" unexpected (expecting ")")



I also tried the two suggested scripts here: https://askubuntu.com/a/431184 but both fail:

$ foo() {
    sleep 1;
    echo "Hello World"
  }
$ time foo
Hello World 

and

$ foo() {
    sleep 1;
    echo "Hello World"
  }
$ export -f foo
$ echo foo | /usr/bin/time /bin/bash
Hello World

with the same error message:

Syntax error: "(" unexpected


By the way, I've installed /usr/bin/time.

Could someone please help?

Thank you

EDIT: as requested, the script is simply:

#!/bin/bash

(time {
sleep 1;
})
5

/bin/sh on Cygwin is likely a symlink to bash, on Debian it's dash. On bash, time is a keyword that can act on shell command lines. Dash doesn't have an equivalent, and there time is just the external /usr/bin/time, and that doesn't act at the same level as the time keyword, so it can't be used on command groups.

Use /bin/bash for your shebang if you're going to use bashisms like the time keyword.

  • Thanks for replying. I just tried #!/bin/bash (time { sleep 1; }) and the result is the same: Syntax error: "}" unexpected (expecting ")") Perhaps it's a more basic syntax error (i.e. I've messed up the brackets)? Thanks – NoExpert Oct 19 at 11:21
  • Please edit your question to show the updated script and how you ran it. – muru Oct 19 at 11:22
  • The updated script works fine enough for me. How are you executing it? – muru Oct 19 at 11:35
  • That's strange. I simply do sh time.sh from the Debian WSL window. It then complains that on line 5 Syntax error: "}" unexpected (expecting ")") I wonder if this is something specific to WSL. – NoExpert Oct 19 at 11:51
  • Because you're still executing your script with sh not bash. Use bash time.sh – glenn jackman Oct 21 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.