shell 中bad substitution错误
来源:互联网 发布:淘宝客费用 编辑:程序博客网 时间:2024/05/22 12:06
今天在学习linux写shell脚本的时候,碰到了一个bad substitution错误。
脚本的内容是输入一个文件名,创建出三个文件名+日期(今天,昨天,前天)的文件。
有错误的代码如下:
1 #!/bin/bash 2 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~bin 3 export PATH 4 5 echo "i will use touch command to create 3 files." 6 read -p "Please enter your filename:" fileuser 7 8 filename=${fileuser:-"filename"} 9 10 #use date to get filename 11 date1=${date --date='2 days ago' +%Y%m%d} 12 date2=${date --date='1 days ago' +%Y%m%d} 13 date3=${date +%Y%m%d} 14 file1=${filename}${date1} 15 file2=${filename}${date2} 16 file3=${filename}${date3} 17 18 touch "$file1" 19 touch "$file2" 20 touch "$file3"
后来跟书上一一对比,发现11-13行的{}应该是()
${}里放的是变量,$(commamd)里是执行command然后用它的输出代替$()。
比如data + %Y%m%d执行后是20170930,date3=$(data + %Y%m%d),执行后就是date3=20170930
修改后:
1 #!/bin/bash 2 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~bin 3 export PATH 4 5 echo "i will use touch command to create 3 files." 6 read -p "Please enter your filename:" fileuser 7 8 filename=${fileuser:-"filename"} 9 10 #use date to get filename 11 date1=$(date --date='2 days ago' +%Y%m%d) 12 date2=$(date --date='1 days ago' +%Y%m%d) 13 date3=$(date +%Y%m%d) 14 file1=${filename}${date1} 15 file2=${filename}${date2} 16 file3=${filename}${date3} 17 18 touch "$file1" 19 touch "$file2" 20 touch "$file3"
阅读全文
0 0
- shell 中bad substitution错误
- linux shell脚本执行错误:bad substitution
- shell bad substitution
- linux shell脚本 截取字符串时执行错误:bad substitution
- linux shell脚本 截取字符串时执行错误:bad substitution
- linux shell编程时报:bad substitution错误的解决办法
- Bad substitution
- shell在进行字符串截取的过程中,报的错bad substitution 解决办法
- linux shell编程时bad substitution的解决办法
- unbutu下shell命令字符串截取报Bad substitution
- cocos2d lua 提示InterpolationMissingOptionError: Bad value substitution:
- syntax error: bad substitution是什么问题
- Unix - Shell Substitution --- shell 置换语法
- shell /bin/bash^M: bad interpreter错误解决
- shell /bin/bash^M: bad interpreter错误解决
- shell /bin/bash^M: bad interpreter错误解决
- CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方法
- shell /bin/bash^M: bad interpreter错误解决
- 属性动画在Android自定义View中的应用场景
- 远程桌面的端口设置和原理探究
- object detection方法汇总
- Strom Spouts
- jQ 子元素选择器和后代选择器
- shell 中bad substitution错误
- 9月29日云栖精选夜读:武装到“牙齿”!阿里云发布史上最强企业云安全架构 11层防护
- AVL tree--Data Structure
- Python Django+Echarts将数据作可视化输出
- JavaScript最全的10种跨域共享的方法
- 10斤酒两个桶
- main线程打印100此次“main”,新线程打印50次“new”。
- ExecutorService中submit和execute的区别
- hadoop 格式化时报错 No class configured for node2