Bash中read命令使用下划线(_)作为参数的含义是什么?
批量克隆GitHub组织仓库脚本中
_参数的解释 这个_是一个占位符变量,作用是承接命令输出中我们不需要的多余内容:
- 首先,
gh repo list myorgname --limit 4000的输出每行包含多列信息(比如仓库完整路径、仓库描述、星标数量等),列之间用空格分隔。 read -r repo _会把每行内容按空格拆分后,把第一列的仓库路径(格式为myorgname/仓库名)赋值给repo变量,而把该行剩下的所有内容(也就是我们不需要的描述、星数等)全部赋值给_变量。- 我们根本不会用到
_变量里的内容,只是用它来“消耗”掉多余的输出部分,确保repo能准确拿到我们需要的第一列数据,避免多余内容干扰后续的gh repo clone命令。
举个实际例子:如果gh repo list某一行输出是myorgname/demo-repo A test repository 50,那么read执行后,repo的值是myorgname/demo-repo,_的值是A test repository 50,后续克隆只需要用repo的值就够了。
内容的提问来源于stack exchange,提问作者xalexander
相关产品推荐
相关产品推荐

