我的主目录中有两个文件,.phpsh
并.php_history
使用它们的名称来测试路径名的扩展以及它如何影响 bash 中的关联数组。我遇到的结果似乎很奇怪,我无法完全解释它们。我在这里尝试了很多变化。
>my_array_filename_var=(".phpsh"=10 ".php_history" =20)
>echo ${my_array_filename_var[.phpsh]}
ERROR
>echo "${my_array_filename_var[.phpsh]}"
ERROR
# This one below understandably doesn't work. But I was pulling my hair out.
>echo "${my_array_filename_var[".phpsh"]}"
ERROR
echo "${my_array_filename_var[\".phpsh\"]}"
ERROR
>echo "${my_array_filename_var[.phpsh]}"
ERROR
>echo "${my_array_filename_var[phpsh]}"
.phpsh=10
>echo "${my_array_filename_var[php_history]}"
.phpsh=10
>echo "${my_array_filename_var[\.php_history]}"
ERROR
ERROR
令牌代表的地方
bash: .phpsh: syntax error: operand expected (error token is ".phpsh")
是否有一些规则说我不能在关联数组的键中使用点字符?bash 中的路径名扩展如何处理这个问题?