我正在学习基本的bash脚本。
假设这样的最小代码:
$ for i in draft/*; do
file $i;
done
draft/first.html: ASCII text
draft/second.html: ASCII text
draft/third.html: ASCII text
我注意到$i
在$前面加上$,很可能会使C的*指针取消引用其值。
bash脚本中的变量是指针吗?或实现为C详细信息的指针?
答案 0 :(得分:2)
尽管Bash脚本语言没有指针的概念,但是您正在学习一些东西。这里发生的是,您声明一个名为i
的变量,然后将字符串$i
扩展到该变量的值。在the manual中,这称为“参数扩展”,但大多数人将其称为“变量扩展”或“变量替换”。
答案 1 :(得分:1)
$
只是一个指标,表明它是每个语言定义的变量。
bash及其在C语言中的实现之间的层次非常深,在进行bash脚本编写时,最好不要尝试以指针的方式思考。