如何设置要在脚本中使用的变量?它们不必是全局/系统范围的,只需当前会话就足够了。但是由于某种原因,即使我直接从当前终端运行脚本,它们似乎也不见了。
例子:
foo=bar
echo "$foo"
Run Code Online (Sandbox Code Playgroud)
输出: bar
但是,如果 test.sh 包含echo "$foo"
并且我这样做:
foo=bar
./test.sh
Run Code Online (Sandbox Code Playgroud)
输出为空。如何使用终端会话设置临时变量的范围,该范围在从同一会话执行脚本时仍然有效?
在 zsh 中,当使用通配符?
或*
如下所示时,通配符就会启动:
ls file?.txt
Run Code Online (Sandbox Code Playgroud)
不过,我想在这样的情况下禁用通配符:
youtube-dl https://www.youtube.com/watch?v=QIysdjpiLcA
Run Code Online (Sandbox Code Playgroud)
我可以通过将参数放在单引号或双引号('
或"
)中来解决这个问题。
在 URL 等模式中使用时,我可以以某种方式配置 zsh 来忽略通配符(即不进行任何通配符)吗?或者对于某些命令/可执行文件?