小编squ*_*rjn的帖子

使用此处文档以另一个用户身份运行脚本中的命令

我希望能够在脚本中间切换用户。这是一种尝试:

su - User << EOF

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" </dev/null

EOF
Run Code Online (Sandbox Code Playgroud)

我的目标是执行 EOF 分隔符之间的代码,就像我实际以用户身份登录一样。

中间一行应该安装 Homebrew。如果我以用户身份登录并单独运行中间行,它就可以正常安装。但运行上面的完整脚本给我带来了问题:

-e:5: unknown regexp options - lcal
-e:6: unknown regexp options - lcal
-e:8: unknown regexp options - Cach
-e:9: syntax error, unexpected tLABEL
BREW_REPO = https://github.com/Homebrew/brew.freeze
                  ^
-e:9: unknown regexp options - gthb
-e:10: syntax error, unexpected tLABEL
CORE_TAP_REPO = https://github.com/Homebrew/homebrew-core.freeze
                      ^
-e:10: unknown regexp options - gthb
-e:32: syntax error, unexpected end-of-input, expecting keyword_end
-bash: line 34: end: command not found …
Run Code Online (Sandbox Code Playgroud)

bash heredoc su

5
推荐指数
1
解决办法
3040
查看次数

标签 统计

bash ×1

heredoc ×1

su ×1