Linux 为什么';的值';是否根据我的当前目录进行更改?
我的电脑上有一个奇怪的文件夹,叫做template/(我相信它是我在raspberry pi上做一些低级编程时创建的)。奇怪的是,如果我在文件夹中,我运行命令Linux 为什么';的值';是否根据我的当前目录进行更改?,linux,bash,ubuntu,Linux,Bash,Ubuntu,我的电脑上有一个奇怪的文件夹,叫做template/(我相信它是我在raspberry pi上做一些低级编程时创建的)。奇怪的是,如果我在文件夹中,我运行命令 $echo -n ? | hexdump 它显示 0000000 000d 0000001 但是,如果我在任何其他文件夹中,该命令如下所示 $echo -n ? | hexdump 0000000 003f
$echo -n ? | hexdump
它显示
0000000 000d
0000001
但是,如果我在任何其他文件夹中,该命令如下所示
$echo -n ? | hexdump
0000000 003f
0000001
为什么“?”的值在该文件夹中更改,而仅在该文件夹中更改
我应该注意到,我发现这一点的原因是模板/文件夹中有一个名为“?”的文件,它导致了我正在编写的一些php出现问题。我试图在其他地方重新创建它,但发现我无法
为什么“?”的值在该文件夹中更改,而仅在该文件夹中更改。
?
是shell globbing中的一个特殊字符
?
匹配任何字符,echo?
将匹配并列出当前目录中长度正好为1个字符的任何文件名。
PS:如果目录没有任何1个字符的文件名,则它将回显文本?
为什么“?”的值在该文件夹中更改,而仅在该文件夹中更改。
?
是shell globbing中的一个特殊字符
?
匹配任何字符,echo?
将匹配并列出当前目录中长度正好为1个字符的任何文件名。
PS:如果目录没有任何1个字符的文件名,则它将回显文本
?
表达式回显?
首先由处理。它用任何单字符文件名(如果存在)替换?
。如果没有这样的文件,它将保留?
示例(有两个文件具有单字符文件名):
或(无单字符文件)
因此,如果您只想呈现一个?
字符,则需要对其进行转义:
$ echo \?
?
$ echo '?'
?
$ echo "?"
?
我希望这有点帮助…表达式
echo?
由first处理。它用任何单字符文件名(如果存在)替换?
。如果没有这样的文件,它将保留?
示例(有两个文件具有单字符文件名):
或(无单字符文件)
因此,如果您只想呈现一个?
字符,则需要对其进行转义:
$ echo \?
?
$ echo '?'
?
$ echo "?"
?
我希望这有点帮助…啊,这很有道理,谢谢你。它让我感到困惑,因为它仍然显示一个“?”,但该文件名的值肯定是13。是的,正如我编写的
?
一样,它将恰好匹配一个字符文件名。如果当前目录中不存在1个字符文件,那么它将打印literal?
Ahh,这非常有意义,谢谢。它让我感到困惑,因为它仍然显示一个“?”,但该文件名的值肯定是13。是的,正如我编写的?
一样,它将恰好匹配一个字符文件名。如果当前目录中不存在1个字符文件,则它将打印文本?
$ echo \?
?
$ echo '?'
?
$ echo "?"
?