Search code examples
linuxunixhttp-redirectls

redirect stderr of ls


I'm trying to redirect ls command's errors. But I found my redirection is wrong. For example, if I wrote this ls commands,

$ ls ;;;

Terminal says,

bash: syntax error near unexpected token `;;'

But, my redirected file wrote this,

ls: cannot access ;;;: No such file or directory

How can I catch differences between redirected file and terminal?


Solution

  • Put the ;;; in quotes, bash will then always pass that argument to the ls command. Without quotes bash is trying to parse the ;;;, hence the error.

    ls ';;;' 2> stderr.txt
    < no output >
    
    cat stderr.txt
    ls: ;;;: No such file or directory