Bash单引号和双引号的区别
单引号:必须成对使用,它可以保护所有的字符不被翻译。如变量$1,和奇数个单引号的作用相同,偶数个单引号=1个双引号
双引号:必须成对出现,它可以保护一些元字符不被翻译,但允许变量和命令替换,和偶数个单引号的作用相同
反斜线\:shell也不解释转义符\后的字符,'$1'和"\$1"一样
单引号和双引号可以互相保护
$ cat test.sh
#!/bin/bash
echo "$1"=$1 "$2"=$2
echo '$1'=$1 '$2'=$2
$ ./test.sh hello world
hello=hello world=world
$1=hello $2=world
#!/bin/bash
echo '$1'=$1
echo '$1'='$1'
echo '$1'="$1" //一个双引号
echo '$1'=$1
echo '$1'='$1'
echo '$1'=''$1'' //两个单引号
单引号中的反斜线不被翻译
$echo '\\'
\\
单引号保护双引号
$echo 'Mother yelled, "Time to eat!" '
Mother yelled, "Time to eat!"
双引号保护单引号
$echo "Hi, I'm glad to mee you"
Hi, I'm glad to meet you
Bash函数简述
bash的登录与欢迎信息:/etc/issue,/etc/motd
10个 Linux/Unix下 Bash 和 KSH shell 的作业控制实例
Ubuntu下shell脚本运行异常:Bash和dash的区别