2024-11-30 08:42:46
换个角度,替换/bin为/BIN就不会有错啦
echo ${path/\/bin/\/BIN}
其中/前面要加转义符\
或者用sed来替换,
echo $path | sed 's#/bin#/BIN#g'
格式为s#A#B#,将A替换为B。
后面加个g表示全局替换,即替换所有出现的。
也可以这样写:
echo $path | sed 's#[^s]bin#/BIN#g'
[^s]在正则中表示不是s的一个字符。这里只有两种情况,一种是sbin,一种是/bin,这样sbin就可以被排除了。
2024-11-30 10:46:14
# sbin 也含有 bin ,
#转换一下思路呗, 替换 /bin 为 /BIN 就好了.
#如下只替换第一个/bin 为 /BIN
[c@c:~ ]$ echo ${path/\/bin/\/BIN}
/usr/kerberos/sbin:/usr/kerberos/BIN:/usr/local/sbin:/usr/local/bin
# 如下替换行中所有 /bin 为 /BIN
[c@c:~ ]$ echo ${path//\/bin/\/BIN}
/usr/kerberos/sbin:/usr/kerberos/BIN:/usr/local/sbin:/usr/local/BIN
额额怎么都这样说的。。。
呃....因为都对, 哈哈.
2024-11-30 09:34:04