mirror of
https://github.com/koalaman/shellcheck
synced 2025-07-16 10:03:08 -07:00
Better messages for ignored backslashes like 'echo foo\n'
This commit is contained in:
parent
2f21ced552
commit
ce0b313b93
1 changed files with 11 additions and 4 deletions
|
@ -691,8 +691,15 @@ readNormalEscaped = called "escaped char" $ do
|
|||
<|>
|
||||
do
|
||||
next <- anyChar
|
||||
parseNoteAt pos WarningC $ "Did you mean \"$(printf \"\\" ++ [next] ++ "\")\"? The shell just ignores the \\ here."
|
||||
case escapedChar next of
|
||||
Just name -> parseNoteAt pos WarningC $ "\\" ++ [next] ++ " is just literal '" ++ [next] ++ "' here. For " ++ name ++ ", use \"$(printf \"\\" ++ [next] ++ "\")\"."
|
||||
Nothing -> parseNoteAt pos InfoC $ "This \\" ++ [next] ++ " will be a regular '" ++ [next] ++ "' in this context."
|
||||
return [next]
|
||||
where
|
||||
escapedChar 'n' = Just "line feed"
|
||||
escapedChar 't' = Just "tab"
|
||||
escapedChar 'r' = Just "carriage return"
|
||||
escapedChar _ = Nothing
|
||||
|
||||
|
||||
prop_readExtglob1 = isOk readExtglob "!(*.mp3)"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue