shell替换字符串的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
tutuvip
帖子: 16
注册时间: 2008-04-06 19:00
联系:

shell替换字符串的问题

#1

帖子 tutuvip » 2010-09-06 9:32

现在我想在shell中吧一串字符替换成路径
#/bin/bash
#
echo "输入jboss的安装路径"
read path
echo "path=$path"
sed ‘s/JbossHome/$path/g’ test.sh
这个脚本想把JbossHome替换成path的内容
我怎么才能做到呢~~
:em01
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: shell替换字符串的问题

#2

帖子 eexpress » 2010-09-06 9:38

搜索字符串的掐头去尾。
5.字符串的掐头去尾
☎ echo ${variable#startletter*endletter} # #表示掐头,因为键盘上#在$前面,一个表示最小匹配
☎ echo ${variable##tartletter*endletter} 两个表示最大匹配
☎ echo ${variable%startletter*endletter} # %表示去尾,因为键盘上%在$后面,一个表示最小匹配
☎ echo ${variable%%startletter*endletter} 两个表示最大匹配

6.字符(串)的替换
☎ echo ${variable/oldletter/newletter} #替换一个
☎ echo ${variable//oldletter/newletter} #替换所有
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: shell替换字符串的问题

#3

帖子 eexpress » 2010-09-06 9:39

额。你是一个文件内部替换?那是sed -i
● 鸣学
tutuvip
帖子: 16
注册时间: 2008-04-06 19:00
联系:

Re: shell替换字符串的问题

#4

帖子 tutuvip » 2010-09-06 9:43

我想替换一个文件内部的,就是想把JbossHome这个替换成$path的内容
但是我不知道该怎么做才好~~~ :em03
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: shell替换字符串的问题

#5

帖子 astolia » 2010-09-06 14:45

使用

代码: 全选

sed -i "s/JbossHome/$path/g" test.sh
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: shell替换字符串的问题

#6

帖子 aerofox » 2010-09-06 19:05

代码: 全选

sed -i "s:JbossHome:$path:g" test.sh
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: shell替换字符串的问题

#7

帖子 tusooa » 2010-09-06 19:23

代码: 全选

sed -i 's!JbossHome!'"$path"'!g' somefile

代码: 全选

] ls -ld //
tutuvip
帖子: 16
注册时间: 2008-04-06 19:00
联系:

Re: shell替换字符串的问题

#8

帖子 tutuvip » 2010-09-07 13:03

:em02 :em02 谢谢LS和LSS的,搞定了~
回复