循环的linux bash脚本错误处理
我很难写出bash脚本。我正在编写一个脚本来复制多个文件,然后使用循环的linux bash脚本错误处理,linux,bash,shell,Linux,Bash,Shell,我很难写出bash脚本。我正在编写一个脚本来复制多个文件,然后使用sed命令(例如=a/x)更改一个内部单词,但它不起作用 #!/bin/bash for (( i = 20151122; i <=20151131; i++)) do for (( j = 20151122; j <=20151131; j++)) do cp ~/lecture_2015_11_21.stream.smil "lecture_$i.stream.smil"; cd
sed
命令(例如=a/x
)更改一个内部单词,但它不起作用
#!/bin/bash
for (( i = 20151122; i <=20151131; i++))
do
for (( j = 20151122; j <=20151131; j++))
do
cp ~/lecture_2015_11_21.stream.smil "lecture_$i.stream.smil";
cd ~/
sed -i 's/$i/$j/g' lecture$j.stream.smil
done
done
#/bin/bash
对于((i=20151122;i对于sed,要从bash获取值,必须使用双引号,而不是单引号(主要是bash引用问题):
错:
sed -i 's/$i/$j/g' lecture$j.stream.smil
对:
sed -i "s/$i/$j/g" lecture$j.stream.smil
在这种情况下,您可以同时忽略它们:
sed -i s/$i/$j/g lecture$j.stream.smil
请在您的问题中说明您尝试了什么,以及(预期的)输出。见Hi Mak,你需要以更好的方式表达你的问题。此外,你在一个shell脚本问题上标记了javascript。你的代码是什么,错误是什么?这是我第一次使用stackoverflow,所以我现在正在学习写,我的问题是我想复制目录中的多个文件,然后我想重命名某个单词或名称文件中的日期我的代码是:-#!/bin/bash for((i=20151122;i)它与sed
无关。这是引用字符串在bash中的工作方式。@KarolyHorvath:我知道。我想这是我写的,但添加了一些额外的词来强调它。