我刚刚分配了一个变量,但echo $ variable显示了其他内容以下是一系列echo $var可以显示与刚刚分配的值不同的值的情况。无论指定的值是“双引号”,“单引号”还是不引用,都会发生这种情况。如何让shell正确设置我的变量?星号预期的输出是/* Foobar is free software */,但我得到一个文件名列表:$ var="/* Foobar is free software */"$ echo $var
/bin /boot /dev /etc /home /initrd.img /lib /lib64 /media /mnt /opt /proc ...方括号期望值是[a-z],但有时我会得到一个字母!$ var=[a-z]$ echo $var
c换行(换行符)预期值是一个单独的行列表,但所有值都在一行!$ cat file
foo
bar
baz
$ var=$(cat file)$ echo $var
foo bar baz多个空间我期望一个精心对齐的表头,但是多个空格要么消失要么折叠成一个!$ var=" title | count"$ echo $var
title | count标签我期望两个制表符分隔值,但我得到两个空格分隔值!$ var=$'key\tvalue'$ echo $var
key value
添加回答
举报
0/150
提交
取消