Gio*_*nni 2 zsh shell macos macos-bigsur
当我尝试在 macOS Big Sur 版本 11.5.1 上编写 Zsh 脚本时,我注意到它始终无法将我的变量识别为变量。
相反,Zsh 将它们视为类 UNIX 命令。
终端应用程序问题的屏幕截图 - Zsh shell 脚本的变量赋值问题
在上面链接的屏幕截图中,我在终端应用程序上执行了以下操作。
我的Zsh shell脚本的源代码提供如下:
#!/bin/zsh
unix_cmd = "ls -al"
Run Code Online (Sandbox Code Playgroud)
您能否让我知道我错过了什么以及我做错了什么?
我只想为 Zsh shell 脚本中的变量赋值。
非常感谢您,祝您有美好的一天!再见!
为变量赋值的语法是foo=bar,不是 foo = bar。空格很重要。foo后一种语法是带有参数=和 的命令bar。
几个如何=解释的例子:
| 代码 | 意义 |
|---|---|
foo=bar |
适当的分配;foo现在的值为bar |
foo = bar |
foo带参数的命令=和bar |
foo =bar |
foo带有一个参数的命令=bar |
foo= bar |
在其环境中bar发出命令;foo的值为foo空 |
foo=1 bar |
在其环境中bar发出命令;foo的值foo是1 |
foo='1 bar' |
适当的分配;foo现在的值为1 bar |
foo=' bar' |
适当的分配;现在 的值foo是 bar(注意前导空格) |
foo=\ bar |
适当的分配;现在 的值foo是 bar(注意前导空格) |
foo-x=bar |
命令foo-x=bar(因为foo-x不是 shell 变量的有效名称) |
这不是 Zsh 特有的。POSIX shell ( sh) 和 POSIX 兼容 shell 的行为方式如下。Zsh(虽然通常不符合 POSIX 标准)也遵循此原则。
| 归档时间: |
|
| 查看次数: |
4242 次 |
| 最近记录: |