mirror of
https://github.com/sharkdp/bat.git
synced 2025-09-01 19:02:22 +01:00
Add a simple Bash script for syntax tests
This commit is contained in:
72
tests/syntax-tests/source/Bash/simple.sh
Normal file
72
tests/syntax-tests/source/Bash/simple.sh
Normal file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env bash
|
||||
function incompatible_function() {
|
||||
:
|
||||
}
|
||||
|
||||
compatible_function() {
|
||||
if ! [ "$1" == "yes" ]
|
||||
then
|
||||
return 3;:;
|
||||
fi
|
||||
|
||||
(
|
||||
exec 3>&1
|
||||
echo "finished! $@? $*." >&3 \
|
||||
| cat | bat - | cat
|
||||
exit 4
|
||||
) || exit $?
|
||||
}
|
||||
|
||||
if command -v bat &> /dev/null; then
|
||||
var=1
|
||||
printf "%s...\n" "$(echo some text)"
|
||||
while true; do
|
||||
echo $var
|
||||
|
||||
if { [[ "$var" -eq 1 && ( true || false ) ]] || false 2>&1 1> /dev/null; } &> /dev/null; then
|
||||
var="$(cat <<< "two")"
|
||||
continue 1
|
||||
fi
|
||||
|
||||
case "$var" in
|
||||
"two") var="three" ;;
|
||||
three) var="four" ;;
|
||||
fo*r)
|
||||
var=five
|
||||
;;
|
||||
|
||||
"fi"ve)
|
||||
var="$(
|
||||
cat << END
|
||||
six > $var
|
||||
END
|
||||
)"
|
||||
;;
|
||||
|
||||
$'six\n' | *six*)
|
||||
echo "?"
|
||||
seven=seven
|
||||
while read -r line
|
||||
do
|
||||
var="$line"
|
||||
done << "HEREDOC"
|
||||
1
|
||||
2
|
||||
$seven
|
||||
HEREDOC
|
||||
;;
|
||||
|
||||
*'sev'*)
|
||||
export var=eight
|
||||
unset var
|
||||
;;
|
||||
|
||||
'')
|
||||
{ incompatible_function && false; } || compatible_function "yes"
|
||||
break
|
||||
;;
|
||||
esac
|
||||
|
||||
continue
|
||||
done
|
||||
fi
|
Reference in New Issue
Block a user