当前位置:网站首页>A simple bash to powershell case
A simple bash to powershell case
2022-07-31 05:58: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
边栏推荐
- GUCCI、LV等奢侈品巨头如何布局元宇宙的,其他品牌应该跟上吗?
- MySQL分页查询的5种方法
- 【云原生】开源数据分析 SPL 轻松应对 T+0
- Access database query
- 动态规划(一)| 斐波那契数列和归递
- 一文速学-玩转MySQL获取时间、格式转换各类操作方法详解
- mysql common commands
- Take you to understand the MySQL isolation level, what happens when two transactions operate on the same row of data at the same time?
- 【Elastic-Job源码分析】——作业监听器
- [Elastic-Job source code analysis] - job listener
猜你喜欢
为什么bash中的read要配合while才能读取/dev/stdin的内容
js中的全局作用域与函数作用域
MySQL面试题大全(陆续更新)
Linux修改MySQL数据库密码
【ubuntu20.04安装MySQL以及MySQL-workbench可视化工具】
[Ubuntu20.04 installs MySQL and MySQL-workbench visualization tool]
How MySQL - depots table?A look at will understand
[JVM Loading]---Class Loading Mechanism
[uiautomation] Get WeChat friend list (stored in txt)
(Crypto必备干货)详细分析目前NFT的几大交易市场
随机推荐
数据库 | SQL增删改查基础语法
MySQL-如何分库分表?一看就懂
C language tutorial (1) - preparation
著名网站msdn.itellyou.cn原理分析
带你搞懂MySQL隔离级别,两个事务同时操作同一行数据会怎样?
使用ps | egrep时过滤排除掉egrep自身
Access数据库的查询
sql 添加 default 约束
理解js运算符
npm WARN config global `--global`, `--local` are deprecated. Use `--location solution
什么是EVM兼容链?
[swagger close] The production environment closes the swagger method
quick-3.5 无法正常显示有混合纹理的csb文件
对js的数组的理解
MySQL高级语句(一)
安装Multisim出现 No software will be installed or removed解决方法
动态规划(一)| 斐波那契数列和归递
Install mysqldb in mac10.14
DeFi Token in the project management
Hyper-V新建虚拟机注意事项