(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}
可以安全地替换为*