bash中的$#是什么意思?

fish鱼

我在名为instance的文件中有一个脚本:

echo "hello world"
echo ${1}

当我使用以下命令运行此脚本时:

./instance solfish

我得到以下输出:

hello world
solfish

但是当我跑步时:

echo $# 

它说“ 0”。为什么?我不明白这$#什么意思。

请解释一下。

血红素

$#是in中的一个特殊变量bash,它扩展为参数(位置参数)的数量,即$1, $2 ...,如果参数直接传递给外壳,例如in中,则传递给相关脚本或外壳bash -c '...' ....

这与argcC中相似


也许这可以使您清楚:

$ bash -c 'echo $#'
0

$ bash -c 'echo $#' _ x
1

$ bash -c 'echo $#' _ x y
2

$ bash -c 'echo $#' _ x y z
3

请注意,bash -c在从0开始的命令后面接受参数(从$0技术上讲,这只是bash让您设置的方法$0,实际上不是参数),因此_在这里用作占位符;实际参数是x$1),y$2)和z$3)。


同样,在脚本中(假设script.sh),如果您具有:

#!/usr/bin/env bash
echo "$#"

然后,当您这样做时:

./script.sh foo bar

该脚本将输出2; 同样地,

./script.sh foo

将输出1。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

“ bash-”中的“-”是什么意思?

来自分类Dev

bash中冒号“:-”是什么意思

来自分类Dev

!!:2在Bash中是什么意思?

来自分类Dev

bash中的\'$ char是什么意思?

来自分类Dev

$ {_ [0]}在bash中是什么意思?

来自分类Dev

bash或zsh中的“ $-”是什么意思?

来自分类Dev

在Bash脚本中,“ $!”是什么意思?

来自分类Dev

bash中的'$是什么意思?

来自分类Dev

$ {_ [0]}在bash中是什么意思?

来自分类Dev

“ bash-”中的“-”是什么意思?

来自分类Dev

!$在Bash脚本中是什么意思?

来自分类Dev

bash中的$$ 1是什么意思?

来自分类Dev

bash中的\'$ char是什么意思?

来自分类Dev

bash [@]是什么意思?

来自分类Dev

“ bash”是什么意思?

来自分类Dev

-bash是什么意思?

来自分类Dev

“ bash”是什么意思?

来自分类Dev

bash中if条件中的-s和[[]]是什么意思?

来自分类Dev

“ !!”是什么意思 在haskell中是什么意思?

来自分类Dev

bash中的|&(竖线和号)是什么意思?

来自分类Dev

bash命令中的@符号是什么意思:date --date @ ...?

来自分类Dev

bash / Makefile中的双美元符号是什么意思?

来自分类Dev

bash命令中!#:*!#:1-是什么意思?

来自分类Dev

bash中的“ exec some_cmd&”是什么意思

来自分类Dev

`是什么意思!-b`在此Bash命令中?

来自分类Dev

/ bin / bash -c在服务单元中是什么意思?

来自分类Dev

bash中这个奇怪的符号“:>”是什么意思

来自分类Dev

bash脚本中的“ 1 >>”和“ 2 >>”是什么意思?

来自分类Dev

/ etc / passwd中的'\ + :::::: / bin / bash'是什么意思?