mirror of https://github.com/tLDP/LDP
92 lines
2.3 KiB
Bash
92 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# escaped.sh: escaped characters
|
|
|
|
#############################################################
|
|
### First, let's show some basic escaped-character usage. ###
|
|
#############################################################
|
|
|
|
# Escaping a newline.
|
|
# ------------------
|
|
|
|
echo ""
|
|
|
|
echo "This will print
|
|
as two lines."
|
|
# This will print
|
|
# as two lines.
|
|
|
|
echo "This will print \
|
|
as one line."
|
|
# This will print as one line.
|
|
|
|
echo; echo
|
|
|
|
echo "============="
|
|
|
|
|
|
echo "\v\v\v\v" # Prints \v\v\v\v literally.
|
|
# Use the -e option with 'echo' to print escaped characters.
|
|
echo "============="
|
|
echo "VERTICAL TABS"
|
|
echo -e "\v\v\v\v" # Prints 4 vertical tabs.
|
|
echo "=============="
|
|
|
|
echo "QUOTATION MARK"
|
|
echo -e "\042" # Prints " (quote, octal ASCII character 42).
|
|
echo "=============="
|
|
|
|
|
|
|
|
# The $'\X' construct makes the -e option unnecessary.
|
|
|
|
echo; echo "NEWLINE and (maybe) BEEP"
|
|
echo $'\n' # Newline.
|
|
echo $'\a' # Alert (beep).
|
|
# May only flash, not beep, depending on terminal.
|
|
|
|
# We have seen $'\nnn" string expansion, and now . . .
|
|
|
|
# =================================================================== #
|
|
# Version 2 of Bash introduced the $'\nnn' string expansion construct.
|
|
# =================================================================== #
|
|
|
|
echo "Introducing the \$\' ... \' string-expansion construct . . . "
|
|
echo ". . . featuring more quotation marks."
|
|
|
|
echo $'\t \042 \t' # Quote (") framed by tabs.
|
|
# Note that '\nnn' is an octal value.
|
|
|
|
# It also works with hexadecimal values, in an $'\xhhh' construct.
|
|
echo $'\t \x22 \t' # Quote (") framed by tabs.
|
|
# Thank you, Greg Keraunen, for pointing this out.
|
|
# Earlier Bash versions allowed '\x022'.
|
|
|
|
echo
|
|
|
|
|
|
# Assigning ASCII characters to a variable.
|
|
# ----------------------------------------
|
|
quote=$'\042' # " assigned to a variable.
|
|
echo "$quote Quoted string $quote and this lies outside the quotes."
|
|
|
|
echo
|
|
|
|
# Concatenating ASCII chars in a variable.
|
|
triple_underline=$'\137\137\137' # 137 is octal ASCII code for '_'.
|
|
echo "$triple_underline UNDERLINE $triple_underline"
|
|
|
|
echo
|
|
|
|
ABC=$'\101\102\103\010' # 101, 102, 103 are octal A, B, C.
|
|
echo $ABC
|
|
|
|
echo
|
|
|
|
escape=$'\033' # 033 is octal for escape.
|
|
echo "\"escape\" echoes as $escape"
|
|
# no visible output.
|
|
|
|
echo
|
|
|
|
exit 0
|