bash脚本中的变量是指针吗?或实现为C中的指针?

时间:2018-10-24 23:49:24

标签: bash

我正在学习基本的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详细信息的指针?

2 个答案:

答案 0 :(得分:2)

尽管Bash脚本语言没有指针的概念,但是您正在学习一些东西。这里发生的是,您声明一个名为i的变量,然后将字符串$i 扩展到该变量的值。在the manual中,这称为“参数扩展”,但大多数人将其称为“变量扩展”或“变量替换”。

答案 1 :(得分:1)

$只是一个指标,表明它是每个语言定义的变量。

bash及其在C语言中的实现之间的层次非常深,在进行bash脚本编写时,最好不要尝试以指针的方式思考。