前言:
此篇为如何用shell脚本来达到从键盘输入字符串可倒序输出的效果。不借用rev命令实现。
方法一:
#!/bin/bash
#by Anasta in 1.0-2018.5.3
#使用read读入一段字符串,最后以倒序的方式打印出这一段字符串
echo "\033[47mQuit program when input is empty.\033[0m" # 前面的“\033[47m”和后面的“\033[0m”为一组,设置文字背景为灰色
while :
do
read -p "Please input a string: " str
if [ "$str" = "" ];then # 当什么都不输的时候则退出程序
echo "bye~"
exit
fi
len=${#str} # 获得输入的字符长度
res= # 清空字符串变量
for((i=$len;i>=0;i--))
do
res=$res${str:$i:1} # 利用字符切片从后往前一次取出一个字符并连接
done
echo "$res"
done
方法一是利用字符切片从后往前依次取出一个字符并组合成一新的字符串。最后直接输出这个新的字符串就好。
方法二:
#!/bin/bash
#by Anasta in 2.0-2018.5.3
#使用read读入一段字符串,最后以倒序的方式打印出这一段字符串
echo -e "\033[47mPlease enter 'q' to exit the program.\033[0m