shell反轉字符串

反轉字符串

#!/bin/sh 
#test.sh
STR=$1
LEN=${#STR}
for((i=LEN;i>=0;i--))
do
trap 'echo "第$LINENO行操作之前i=$i"' DEBUG
trap '錯誤 $LINENO:' ERR
trap 'echo "結尾:"' EXIT
        echo -n ${STR:i:1}
done
echo -e "\n"

運行

./test.sh 123456 > test.txt

123456是傳入的參數,將運行結果輸出到test.txt文件。

修改后:

fun(){
a=$1
len=${#a}
echo "反轉前:$a"
echo "長度是$len"
for((i=$len-1;i>=0;i--))
do
trap 'echo "execute in lineno:$LINENO, the char is ${a:i:1}"' DEBUG
    echo "char:${a:i:1}"
done
echo -e "\n"
}
read -p "please input a word you want to reverse:" str
fun $str > test.txt
效果圖

反轉字符的同時字符大小寫互轉,將調試信息保存到log.txt文件中

fun(){
     #獲取參數
    a=$1
     #取字符串長度
    len=${#a}
    echo "反轉前:$a"
    echo "長度是$len"
     #遍歷字符串
    for((i=$len-1;i>=0;i--))
    do
        #從后向前依次取得字符
        c=${a:i:1}
        #清空log.txt
        :>log.txt
        #打印調試信息
        trap 'echo "execute in lineno:$LINENO, the char is $c" >> log.txt' DEBUG
        trap 'error occur in lineno:$LINENO >> test.txt' ERR
        trap 'echo "end:" >> test.txt' EXIT
                #判斷字符類型
                case $c in
                        #為大寫字母時轉為小寫
                        [[:upper:]])
                                echo -n  $c | tr [A-Z] [a-z];;
                        #為小寫字母時轉為大寫
                        [[:lower:]])
                                echo -n $c | tr [a-z] [A-Z];;
                        #非字母不需改變
                        *)
                                echo -n "$c" ;;
                esac
    done
    echo -e "\n"
}
#從鍵盤獲取參數
read -p "please input a word you want to reverse:" str
#調用函數
fun $str
測試
查看日志文件
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市疗锐,隨后出現的幾起案子,更是在濱河造成了極大的恐慌费彼,老刑警劉巖滑臊,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異箍铲,居然都是意外死亡雇卷,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門颠猴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝶念,“玉大人扼倘,你說我怎么就攤上這事。” “怎么了刹悴?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵柜蜈,是天一觀的道長狈邑。 經常有香客問我政鼠,道長,這世上最難降的妖魔是什么律姨? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任振峻,我火速辦了婚禮,結果婚禮上择份,老公的妹妹穿的比我還像新娘扣孟。我一直安慰自己,他們只是感情好荣赶,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布凤价。 她就那樣靜靜地躺著鸽斟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪利诺。 梳的紋絲不亂的頭發(fā)上富蓄,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天,我揣著相機與錄音慢逾,去河邊找鬼立倍。 笑死,一個胖子當著我的面吹牛侣滩,可吹牛的內容都是我干的口注。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼君珠,長吁一口氣:“原來是場噩夢啊……” “哼寝志!你這毒婦竟也來了?” 一聲冷哼從身側響起策添,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤材部,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后舰攒,有當地人在樹林里發(fā)現了一具尸體败富,經...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡悔醋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年摩窃,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芬骄。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡猾愿,死狀恐怖,靈堂內的尸體忽然破棺而出账阻,到底是詐尸還是另有隱情蒂秘,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布淘太,位于F島的核電站姻僧,受9級特大地震影響,放射性物質發(fā)生泄漏蒲牧。R本人自食惡果不足惜撇贺,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冰抢。 院中可真熱鬧松嘶,春花似錦、人聲如沸挎扰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至尽超,卻和暖如春官撼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背似谁。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工歧寺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棘脐。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓斜筐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蛀缝。 傳聞我的和親對象是個殘疾皇子顷链,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內容