2014-10-08 46 views
0

我有一个基本脚本在另一个脚本内运行。我打电话mass_split.sh然后调用split_file.shsplite_file.sh需要两个参数-s file_name.txt-c 1(切割文件的切片数)。但是我试图运行一个循环来查找目录./中的所有文本文件名,然后将结果输入到cut_file.sh。我没有得到任何结果,然后文本文件不被拆分。在循环中运行脚本 - 回显文件名

mass_split.sh

#!/bin/bash 
for f in ./*.txt 
do 
sudo bash split_file.sh -s echo "file '$f'"; -c 10 
done 
+0

你使用'sudo bash [脚本] ...'表示你不是1)设置脚本可执行文件或者2)使用魔术文件,否则它会读取'sudo ./split_file.sh。 ..'。 (适用于split_file.sh,不适用于我们可以看到shebang的mass_split.sh) – Wug 2014-10-08 02:37:08

+1

您不需要echo部分。我建议在for循环中使用以下命令,而不是使用以下命令: 'sudo bash split_file.sh -s $ f -c 10' – 2014-10-08 02:47:41

+0

';'后面的'-c10'部分将返回:未找到命令。删除';'另外,当我排除'bash split_file.sh ...'(因为我没有那个命令或代码),它会完美地列出这些文件。你也可以显示'split_file.sh'的代码。它可能有帮助。 – thom 2014-10-08 02:52:24

回答

1

也许这事做与字符串后武侠分号的文本,这是几乎可以肯定不是做你想做什么(除非你有其他的可执行文件,你故意运行称为-c)。