博文背景
群友的bash脚本需要移植到Windows平台下,我帮群友写了一下
具体操作
脚本未经过充分测试,很可能有BUG存在
#!/bin/bash
FILE_NAME=$1
NEW_ORG_NAME=$2
STR=`sed -n '1p' ./${FILE_NAME}`
TEMP_STR=($STR)
BLOCKCHAIN_NAME=${TEMP_STR[1]}
STR=`sed -n '3p' ./${FILE_NAME}`
TEMP_STR=($STR)
CRYTPO_PATH=${TEMP_STR[1]}
ADDORG_PEER=`expr $# - 2`
#ADDORG_PEER=`expr ${ADDORG_PEER} / 2`
STR=$@
ARG_ARR=($STR)
function addOrg(){
line=`sed -n '/organizations:/=' ${FILE_NAME} | tail -n1`
echo " ${NEW_ORG_NAME}: #TAGORGS:_${NEW_ORG_NAME}
mspid: ${NEW_ORG_NAME} #TAGORGS:_${NEW_ORG_NAME}
cryptoPath: ${CRYTPO_PATH}/peerOrganizations/${NEW_ORG_NAME}/users/Admin@${NEW_ORG_NAME}/msp #TAGORGS:_${NEW_ORG_NAME}
peers: #${NEW_ORG_NAME} #TAGORGS:_${NEW_ORG_NAME}" > temp.txt
# for ((i=2;i<`expr ${ADDORG_PEER} + 2`;i++));do
# echo " - ${ARG_ARR[i]}" >> temp.txt
# done
sed -i "${line} r temp.txt" ${FILE_NAME}
}
addOrg
$FILE_NAME=$args[0]
$NEW_ORG_NAME=$args[1]
$STR=$(Get-Content $FILE_NAME | Select -Index 0)
$TEMP_STR=$STR.Split(" ")
$BLOCKCHAIN_NAME=$TEMP_STR[1]
$STR=$(Get-Content $FILE_NAME | Select -Index 2)
$TEMP_STR=$STR.Split(" ")
$CRYTPO_PATH=$TEMP_STR[1]
$ADDORG_PEER=$args.Count - 2
$STR=$args
$ARG_ARR=$STR
Function addOrg() {
$linenumber=$(Get-Content ${FILE_NAME} | Select-String -Pattern "organizations:" | Select-Object LineNumber)
$line=$linenumber.Get($linenumber.Length-1).LineNumber
echo @"
${NEW_ORG_NAME}: #TAGORGS:_${NEW_ORG_NAME}
mspid: ${NEW_ORG_NAME} #TAGORGS:_${NEW_ORG_NAME}
cryptoPath: ${CRYTPO_PATH}/peerOrganizations/${NEW_ORG_NAME}/users/Admin@${NEW_ORG_NAME}/msp #TAGORGS:_${NEW_ORG_NAME}
peers: #${NEW_ORG_NAME} #TAGORGS:_${NEW_ORG_NAME}
"@ | Set-Content temp.txt
# 此处缺一个sed命令暂时没有实现
}
addOrg