![我想通过键入单个命令来检查多个文件的输出](https://linux22.com/image/141506/%E6%88%91%E6%83%B3%E9%80%9A%E8%BF%87%E9%94%AE%E5%85%A5%E5%8D%95%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6%E7%9A%84%E8%BE%93%E5%87%BA.png)
(directory=$(python -c 'import read_params; print(read_params.get_directory())')
nsrc=$(cat $directory/master.pixels|wc -l)
tail $directory/forward_src0{1..$nsrc}_ls00/out_data_forward)
上面的作用是模拟正在运行(这并不重要),上面的命令通过打印目录中的文件来跟踪它:
- ..../forward_src01_ls01/out_data_forward
- ..../forward_src01_ls02/out_data_forward
- ..../forward_src01_ls03/out_data_forward
- ..../forward_src01_ls04/out_data_forward
依此类推,直到 src_08。
在某些linux系统中运行没有错误。但在我的系统中,它会抛出以下错误:
[prasad@daahpc1 sparc_flows]$ (directory=$(python -c 'import read_params; print(read_params.get_directory())')
> nsrc=$(cat $directory/master.pixels|wc -l)
> tail $directory/forward_src0{1..$nsrc}_ls00/out_data_forward)
tail: cannot open /scratch/prasad/sparc_test/forward_src0{1..8}_ls00/out_data_forward' for reading: No such file or directory
需要明确的是,这些文件确实存在......我可以单独打开它们,但不能批量打开它们。
答案1
您系统中的 shell 似乎与您在其他系统上使用的 shell 不同 ( echo $SHELL
)
您的本地 shell 无法理解/替换{1..8}
您tail
通话中的 。
尝试在您的系统上使用相同的 shell,您也可以*
在脚本中使用通用通配符,以防{1..8}
可以安全地替换为*