当前位置:网站首页>一个简单的bash转powershell案例
一个简单的bash转powershell案例
2022-07-31 05:11:00 【tcliuwenwen】
博文背景
群友的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=[email protected]
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/[email protected]${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/[email protected]${NEW_ORG_NAME}/msp #TAGORGS:_${NEW_ORG_NAME} peers: #${NEW_ORG_NAME} #TAGORGS:_${NEW_ORG_NAME} "@ | Set-Content temp.txt
# 此处缺一个sed命令暂时没有实现
}
addOrg
边栏推荐
- Detailed explanation of pointers in C language
- win11中利用IIS10搭建asp网站
- leetcode-每日一题873. 最长的斐波那契子序列的长度(哈希和二分)
- Linux中mysql密码修改方法(亲测可用)
- NFT与数字藏品到底有何区别?
- Why is the redis single-threaded also so fast?
- 什么是EVM兼容链?
- C language tutorial (1) - preparation
- 常见JVM面试题及答案整理
- The latest MySql installation teaching, very detailed
猜你喜欢

Fragmented NFT (Fractional NFT)

10 【组件编码流程 组件自定义事件 全局事件总线】

【swagger关闭】生产环境关闭swagger方法

NFTs: The Heart of Digital Ownership

04 【计算属性 侦听属性】

vulhub靶场学习日记hackme2

计网 Packet Tracer仿真 | 简单易懂集线器和交换机对比(理论+仿真)

js中的对象与函数的理解

How MySQL - depots table?A look at will understand

The feign call fails, JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
随机推荐
NFT与数字藏品到底有何区别?
win11中利用IIS10搭建asp网站
npm WARN config global `--global`, `--local` are deprecated. Use `--location解决方案
(Crypto必备干货)详细分析目前NFT的几大交易市场
MySQL面试题大全(陆续更新)
08 【生命周期 组件】
(Crypto essential dry goods) Detailed analysis of the current NFT trading markets
Memcached :安装
Digital twins will be an important way to enter the "metaverse"
MySql创建数据表
The feign call fails, JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
Getting to know regular expressions
What is GameFi?
What is an EVM Compatible Chain?
vulhub靶场学习日记xxe-lab
C language tutorial (1) - preparation
vulhub靶场学习日记hackme2
代码块、Package,Import,封装(第六天)
leetcode-每日一题1252. 奇数值单元格的数目(模拟优化)
Linux中mysql密码修改方法(亲测可用)