GPUS=0,1
GPU_IDS=(${GPUS//,/ })
这里第一行是定义shell变量,注意shell变量等号两边不能有空格。
第二行是对shell变量的调用,要用 $ 符进行调用。
${ } 是对特定的变量名进行调用。
这里主要用到的是shell变量的高级用法中替换和删除的用法。
${变量名 // 旧字符串 / 新字符串}
这个用法的意思就是将变量名中的所有旧字符串替换为新字符串
有一个相似的函数用法是
${变量名 / 旧字符串 / 新字符串}
与上面有所不同的是这里只替换原变量中的第一处旧字符串
删除的用法就是/后面什么也不加即可。
举个栗子
#!/bin/bash
var='I love you, do you love me?????'
var1=${var//ove/OVE}
var2=${var/ove/OVE}
var3=${var//\?/}
var4=${var/\?/}
echo $var1
echo $var2
echo $var3
echo $var4
上列代码的输出结果是
I lOVE you, do you lOVE me?????
I lOVE you, do you love me?????
I love you, do you love me
I love you, do you love me????