jos*_*ose 3 bash perl macintosh
我正在尝试在 Perl (Mac) 上运行基本功能,但我一直收到相同的错误消息。我设法运行了像简单的“你好,世界”示例之类的程序。他们工作正常:
$ perl -w hello.pl
Hello World
Run Code Online (Sandbox Code Playgroud)
但是当我尝试不同的事情时,例如为变量赋值时,它会给我一条消息,例如:
$number = 13*2;
-bash: =: command not found
Run Code Online (Sandbox Code Playgroud)
list 之类的命令似乎有效,但我一直收到 bash 错误。我读到它可能与路径有关,但不确定如何准确验证这一点以及 bash 在这里做什么。
您似乎将 bash 与 perl 混淆了。Mac 上的默认 shell 是 bash,它不能以与 perl 相同的方式或使用相同的语法设置变量。要使用 perl 将名为 '$number' 的变量设置为 '13 * 2' 的结果,在 bash CLI 上,您需要:
my-macbook:~ $ perl -e '$number = 13 * 2; print $number, "\n";'
26
Run Code Online (Sandbox Code Playgroud)
要在 bash 本身中做同样的事情,你可以:
my-macbook:~ $ number=$(expr 13 \* 2); echo $number
26
Run Code Online (Sandbox Code Playgroud)
您不能将原始 perl 语法放入终端中的 bash shell,因为在终端中运行的 bash shell 需要 bash 语法。Bash 本身就是一门完整的语言,与 perl 不兼容。要告诉 bash 您想使用 perl 而不是 bash 执行某些代码,您可以使用 Perl 的-e标志(如在 e 中表示执行),然后将您的 perl 代码用单引号括起来。