【发布时间】:2016-11-25 19:36:45
【问题描述】:
这是我替换字符串的shell脚本
OPTIONS="-p ${PIDFILE}"
具有多行字符串值
OPTIONS_1234="-p ${PIDFILE_1234} -ORBEndpoint iiop://localhost:1234" OPTIONS_1235="-p ${PIDFILE_1235} -ORBEndpoint iiop://localhost:1235" OPTIONS_1236="-p ${PIDFILE_1236} -ORBEndpoint iiop://localhost:1236"
根据我输入的端口号,应该创建许多 OPTIONS。
#!/bin/bash
NS_HOSTNAME= localhost
namingService_ports = 1234,1235,1236
IFS=','
read -r -a portArray <<< "$namingService_ports"
for port in ${portArray[@]}; do
sed '0,/\PTIONS="-p ${PIDFILE}"/ s//\OPTIONS_'"$port"'="-p ${PIDFILE_'"$port"'} -ORBEndpoint iiop:\/\/'"$NS_HOSTNAME"':'"$port"'"\n /' "/etc/init.d/tao" > "tao_ns1"
done
有人可以建议我 sed 命令如何将多行与 for 循环移动到文件“tao_ns1”
【问题讨论】:
-
请多加注意您在问题上放置的标签。例如,为什么那里有“java”?!
-
我误加了
-
你在这里问过类似的问题,stackoverflow.com/questions/40790904/…
-
就是这样,差别很小,这里发生的情况是这样的,虽然迭代第一个迭代值只是它的取值,我正在寻找完整的迭代数据应该在最终文件中可用
-
@PravinKmr:请参阅下面我的更新,一旦解决了您的问题,请不要忘记投票/接受答案