1. sudo执行脚本找不到变量

当普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能获取到值,如题情况如下:

$ cat demo.sh
echo $var1
$ var1=a1
$ export var1 # export 变量
$ sudo echo $var1 # sudo执行echo命令,返回变量值
>>>a1
$ sudo bash demo.sh # sudo执行脚本,不能获取变量值 $ bash demo.sh # 普通用户执行脚本,返回变量值
>>>a1 # 解决方案
$ sudo -E bash demo.sh  # sudo 带-E参数,可以获取变量值
>>>a1
 

具体原因还有其他解决方案见http://blog.sina.com.cn/s/blog_4da051a60102uyvg.html

2. 替换变量中的字符

$ BRANCH_NAME=feature/ss_tracking

$ echo $BRANCH_NAME

>>>feature/ss_tracking

$ echo ${BRANCH_NAME/\//-}

>>>feature-ss_tracking

3. sed遍历替换

#linux
find features -type f |while read file;do sed -i 's/context.feature.mongo/context.mongo/g' $file;done #mac
find features -type f |while read file;do sed -i "" 's/context.feature.mongo/context.mongo/g' $file;done

最新文章

  1. Angularjs学习笔记9_JSON和JSONP
  2. zookeeper session tracker机制分析
  3. ValueError: Attempted relative import in non-package
  4. 24种设计模式--策略模式【Strategy Pattern】
  5. c++的getline()和get()函数
  6. openSUSE 安装
  7. 开源Dubbox
  8. 【转】Mapreduce部署与第三方依赖包管理
  9. 8-过滤器Filter和监听器Listener
  10. HttpReponse
  11. openGL实现图形学扫描线种子填充算法
  12. [亲测哪步都不能省可用]联想ThinkPad E450装系统后开机一直停留在BootMenu上,无法选择硬盘进入
  13. Inotify+Rsync实现Linux服务器文件同步
  14. T-SQL基础(二)之关联查询
  15. TZOJ 4839 麦森数(模拟快速幂)
  16. Netty 粘包/拆包应用案例及解决方案分析
  17. SQL语句(十五)视图
  18. AB压力测试工具
  19. SDK管理利器——sdkman
  20. Python之数据库导入(py3.5)

热门文章

  1. docker之阿里云centos 7.x 启动容器报错处理办法
  2. MyBatis中foreach循环的用法
  3. Java Web笔记(2)
  4. take it away `electron-builder` Electron打包失败的问题
  5. webservice之Http传输错误问题
  6. PC远程传文件到树莓派(PSCP详细版)
  7. sql server 发送邮件
  8. linux基础之磁盘管理与文件系统
  9. Prometheus的查询语法是PromQL基本语法
  10. [CF662C Binary Table][状压+FWT]