似乎 ubuntu 缺少一些基础知识...或者我还没有设置它们?

似乎 ubuntu 缺少一些基础知识...或者我还没有设置它们?

我无法像这样定义 shell 变量:

$a = "hello"
echo $a
echo a
$a
a

一切都一无所获。另外,这个命令对我不起作用:

$ echo "HELLO HOW ARE YOU?" | tr '[:upper:]' '[:lower:]'

该命令没有输出。 ]

那么这些功能并不总是可用吗?为什么我不在最近安装的普通 Ubuntu 中安装它们?

答案1

你使用的是 Ubuntu,所以我假设你使用的是bash.

当你定义一个变量时,你可以这样做:

you@ubuntu:~$ a="hello"

没有空间。没有美元符号。否则就行不通。

每当您想要使用您定义的变量时,您都可以使用美元符号:

you@ubuntu:~$ echo $a
hello

您的第三个命令应该输出文字字母“a”:

you@ubuntu:~$ echo a
a

你的第四个命令不会执行任何操作除非你有一些东西存储在变量中a。如果您在其中正确存储了字符串“hello”,它将执行以下操作:

you@ubuntu:~$ $a
bash: command not found: hello

您的第五个命令正在尝试运行一个名为 的可执行文件a,该可执行文件不存在。您可能会收到类似于上一个示例中的消息。

至于最后一个命令......好吧,我得到了这个:

me@ubuntu:~$ echo "HELLO HOW ARE YOU?" | tr '[:upper:]' '[:lower:]'
hello how are you?

答案2

不要用美元符号分配变量。美元符号仅用于读取变量。

外壳检查解释Shell非常适合调试 shell 命令。

相关内容