相关疑难解决方法(0)

何时在shell变量周围包装引号?

有人能告诉我是否应该在shell脚本中包含变量的引号?

例如,以下是正确的:

xdg-open $URL 
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)

要么

xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么?

unix linux bash shell quotes

145
推荐指数
4
解决办法
5万
查看次数

如何在 Github Actions 中回显多行变量?

感谢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 中(带空格):

工作流程

variables github-actions

7
推荐指数
1
解决办法
1万
查看次数

将命令输出保存到Makefile变量时如何保留空格?

我知道类似这样的问题,但是我的问题专门关于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)

我实际上使用的命令不是说说的,但是它输出类似的空格和换行符。

whitespace makefile gnu-make

5
推荐指数
2
解决办法
400
查看次数