有这样一个py文件,需要传一个字典作为参数: import json import sys def parse_params(data): json_data = json.loads(data[1]) print json_data if __name__=='__main__': params = sys.argv print params parse_params(params) 命名为sp.py,运行的时候传入如下参数: #python sp.py '{"mode":"…
shell脚本参数中有空格 在shell脚本中如果有空格的处理如下: sh test.sh "hello word" echo $1 得到的是hello,而不是hello word. 正确的写法如下: vi test.sh #!/bin/bash source /etc/profile echo "$1" echo "$2" echo "$3" exit 0 测试: sh test.sh "hello word&qu…
在另一博文<Shell脚本实现DB2数据库表导出到文件>中实现了通过脚本实现将DB2数据库导出到文件,需要传入七个参数,最后一个是一个带有空格字符串,所以传入的时候有点问题,会自动识别空格,默认会将空格前的当作第7个参数,以下是传入的参数: MD duanwf CDR_CALL_YYYYMMDD /home/duanwf/asiainfo/export/T141015001_20141014.avl & fetch first rows only 最后的“fetch first 100…
在开发过程中,经常会使用shell脚本去完成定时备份的任务,普遍的做法是通过系统的定时任务定时执行备份脚本 设想这样一种场景,本次备份时间到了,自动执行备份脚本,如果备份比较耗时的话,会一直持续到下一次备份时间到了还未结束,下次备份又会自动调用备份脚本,相当于同一时间有两个进程在执行备份脚本,这可能会导致备份数据错乱或其他不可预知的问题 更进一步,假如执行备份脚本消耗的时间远大于设置的备份间隔的话,系统会出现多个同时在执行脚本的Bash实例,会占用大量的系统资源,进而影响正常业务程序的运行 那如…
执行shell脚本的时候,提示如下错误: 查询资料后发现: 执行: vi finddir.sh 然后,输入 :set ff 结果是: 解决方案就是,修改为unix: :set ff=unix 执行保存命令: :wq 再次执行: :set ff 最后执行命令. 本文中有一处错误,那就是脚本中的 if [-d "$folder"]; then 改为: if [ ! -d "$folder" ]; then 亲测好使.…
如下例子所示: #!/bin/sh dt= rdms_presql='select * from dm_general_stat where dimcode = "day" and dimvalue ='${dt} java -Djava.ext.dirs=lib com.etl.Hive2RMDS \ --hive_url ${rdms_presql} 想把一段sql作为参数传递给java程序的入口参数中,如果直接写的话,会从空格处自动切分开. 解决方法:将这个引用变量用双引号括起来…
参数处理 说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数. $- 显示Shell使用的当前选项,与set命令功能相同. $? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误. MD duanwf 23742 CDR_CALL_YYYYMMDD /home/duanwf/asiainfo/export/T141015001_…
这里介绍参数传递的两种方式. 方式一:$0,$1,$2... 采用$0,$1,$2..等方式获取脚本命令行传入的参数 $0:脚本名称 $1....: 参数 例子: #编写一个shell $ vim test.sh echo "参数0参数为:"$0 echo "参数1参数为:"$1 echo "参数2参数为:"$2 #执行shell传递两个参数 $ bash test.sh 我是参数1 我是参数2 参数0参数为:test.sh 参数1参数为:我是参…
js 方法传参有时候会遇到空格,空格会报错,因为它会默认空格后是元素 解决方法就是使用 escape 和 unescape html: var title = escape(rowObject.title); var btnModify ='<button class="btn btn-outline blue-chambray" id="" onclick=fillModifyFormFileds("' + rowObject.id + '&quo…
測试环境:ubuntu12.04 LTS版本号 echo >> file.txt就可以, 这样的方法对于脚本开头是bash和sh效果都一样, 而echo -e >> file.txt这样的仅仅适合与bash 对于sh,会输入-e到文件然后再换行. 而echo -e "\n" >> file.txt对于bash会连续换2行. 对于sh,会输入-e和一个新空行到文件.…