有人能告诉我是否应该在shell脚本中包含变量的引号?
例如,以下是正确的:
xdg-open $URL
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)
要么
xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)
如果是这样,为什么?
感谢github docs ,我已经存储了多行环境变量。
- name: copy
run: |
echo 'CONTENT_ENV<<EOF' >> $GITHUB_ENV
cat README.md >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
Run Code Online (Sandbox Code Playgroud)
我想得到它,但是这段代码给出了一行:
- name: paste
run: echo $CONTENT_ENV > index.md
Run Code Online (Sandbox Code Playgroud)
工作流程显示变量正确存储在 env 中(带空格):
我知道类似这样的问题,但是我的问题专门关于makefile,尤其是gnumake。
我有一个命令可以打印换行符和其他空格以标准化。我想将输出捕获到变量中,然后再将变量打印到文件中。
示例文件:
OUTPUT=${shell cowsay hello}
all:
@echo "$(OUTPUT)" > output.txt
Run Code Online (Sandbox Code Playgroud)
运行make之后,output.txt包含:
_______ < hello > ------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
Run Code Online (Sandbox Code Playgroud)
我希望它保留空格,而包含:
_______
< hello >
-------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Run Code Online (Sandbox Code Playgroud)
我实际上使用的命令不是说说的,但是它输出类似的空格和换行符。