写程式很多时要将英文字母大小写转换, 例如想将第一个字母转成大写; 将 hostname 转换成全部大写或小写等。Shell Script 可以用 tr 指令完成。例如:
|
1 2 3 4 5 |
#!/usr/bin/sh NAME="sam tang" echo $NAME | tr '[:lower:]' '[:upper:]' |
上面的 tr 会将 “sam tang” 转换成 “SAM TANG”, 如果是将大写转换成小写, 将 [:lower:] 及 [:upper:] 互换即可。
而 tr 另一种写法可以这样写:
|
1 2 3 4 5 |
#!/usr/bin/sh NAME="sam tang" echo $NAME | tr '[a-z]' '[A-Z]' |
bash 提供了另一个方法, 使用 “^” 转换第一个字母成大写; “,” 转换第一个字母成小写, 如果使用 “^^” 或 “,,”, 则所有字母转换成大写或小写, 例如:
|
1 2 3 4 5 6 |
#!/usr/bin/sh NAME="sam tang" echo ${NAME^} echo ${NAME^^} |
会输出:
Sam tang
SAM TANG