区分两个变量的优雅方式?

Ole*_*nge 4 bash diff io-redirection here-string

我有 $a 和 $b。我想跑diff那些。

我想出的最好的是:

diff <(cat <<<"$a") <(cat <<<"$b")
Run Code Online (Sandbox Code Playgroud)

但我觉得我缺少一个聪明的 Bash 语法来做到这一点(如“你为什么不只使用 foo?”)。

Ole*_*nge 15

echo. 显然不那么奇怪了。

#!/bin/bash

a="`seq 10`"
b="`seq 0 11`"

diff <(echo "$a") <(echo "$b")
Run Code Online (Sandbox Code Playgroud)

  • 我想出了为什么我无法让它工作。进程替换是一个 bash 特性,它通常在 `/bin/sh` 中不可用。我的 bash 脚本有错误的shebang。是 `#!/bin/sh` 但应该是 `#!/bin/bash`。 (4认同)
  • @Loupax 您是否可以使用 `sh scriptname` 运行脚本? (2认同)