0

我正在创建一个应该在 HPC(集群)上创建作业的脚本。我创建了一个获取 4 个变量并从中创建字符串的函数:

startJob (){
    if [ $per -lt 10 ]; then
    folder=/storage/users/avityo/prog/0$1.$2$3
    else
    folder=/storage/users/avityo/prog/$1.$2$3
    fi
    echo $folder
}

在我从中得到的结果中,用逗号分隔

/storage/users/avityo/prog/00,.583,bfd,

如何删除这些逗号?

编辑:
从我得到的答案和评论来看,我应该提到我是如何调用这个函数的,我意识到我没有以正确的方式调用这个函数。我正在使用这个:

let count=0

for per in $(seq 70 -5 0); do
    for seed in {580..583}; do
        for c in {"fs","fd","bfs","bfd"}; do
            let count=$count+1
            startJob $per, $seed, $c, $count
        done
    done
done

调用函数时删除逗号修复了这个问题。

4

2 回答 2

2

看起来您正在像这样调用您的函数:

startJob 0, 583, bfd, 4thUnusedArgument

您不需要逗号;参数仅由空格分隔。试试这个:

startJob 0 583 bfd 4thUnusedArgument
于 2012-07-04T15:41:31.913 回答
0

如果您不想编辑逗号的来源,也就是说,您可以将其通过管道传输到 sed。

echo $folder|sed 's/,//g'

哪个会输出

/storage/users/avityo/prog/00.583bfd
于 2012-07-04T19:14:27.447 回答