我开始学习如何在
Linux中使用bash shell命令和脚本.
我想创建一个脚本来获取源文件,并创建一个选定数量的命名副本.
例如,我有源作为testFile,我选择了15个副本,因此它在同一位置创建了testFile1,2,3 … 14,15.
为了尝试实现这一点,我尝试了以下命令:
for LABEL in {$X..$Y}; do cp $INPUT $INPUT$LABEL; done
但是,它不是创建从X到Y的文件,而是只添加一个文件(例如){1..5}而不是文件1,3,4和5
如何更改它以便正确使用变量作为循环的数字?
解决方法
brace expansion机制有点受限;它不适用于变量,只适用于文字.
对于你想要的,你可能有seq命令,并可以写:
INPUT=testFile for num in $(seq 1 15) do cp "$INPUT" "$INPUT$num" done