多语言展示
当前在线:1667今日阅读:176今日分享:34

教你怎么用Shell分割字符串

很多时候,我们想把一个字符串分割为两个域,恰巧又是用的是shell脚本,这时候该怎么办呢?我起初的目的是设计一个gcc自动编译的shell脚本,让它可以自动编译c源文件,并且,我希望的结果是,例如abc.c编译出来的可执行文件是abc,那么我们就需要做到一个字符串分割的作用,我们在参数abc.c传进来的时候,我们需要把它划分为abc和.c,.c是为了区分它是否是个c文件,abc是我们要输出的文件名。
工具/原料

一台linux

方法/步骤
1

我们这里只做一个字符串的分割。首先touch新sh文件。

2

用vi或者vim打开它

3

#!/bin/bashTEMP='abc.c'LENGHT=${#TEMP}    #得到长度 5位STR0=${TEMP:0:LENGHT-2}      #得到abcSTR1=${TEMP:LENGHT-2}         #得到.cecho $STR0echo $STR1

4

运行试试。可以看到,我们得到了abc和.c

6

事实上,${TEMP:LENGHT-2}也可以写成${TEMP:LENGHT-2:2}长度为0,来试试看?

7

这只是比较严谨的写法。

注意事项

如果你不会用#和%符号做分割的话,我建议还是用这种方法

推荐信息