【问题标题】:Bash Script store cat output in variable and then echo it [duplicate]Bash脚本将cat输出存储在变量中,然后回显它[重复]
【发布时间】:2017-03-04 17:08:25
【问题描述】:

我正在尝试将 cat 输出存储到变量中,然后尝试回显它。然后我想终止该进程。

#!/bin/bash

var = $(cat tmp/pids/unicorn.pid)

echo $var
sudo kill -QUIT $var

如果有人能告诉我哪里错了

【问题讨论】:

  • 文件名开头是否缺少斜杠?
  • 不要在= 周围放置空格。应该是var=$(cat tmp/pids/unicorn.pid)。同时提供有效路径。
  • @sat tmp/pids/unicorn.pid 有效路径;这可能不是正确的道路,但这与这个问题无关。

标签: bash unix


【解决方案1】:

bash 中的变量赋值不应在等号前后有任何空格。应该是这样的:

#!/bin/bash
var=$(cat tmp/pids/unicorn.pid)
echo "$var"

可以更习惯地写成

#!/bin/bash
var=$(< tmp/pids/unicorn.pid)
echo "$var"

【讨论】:

  • +1 这节省了我的时间:“bash 中的变量赋值不应在等号前后有任何空格”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
  • 2015-09-01
  • 2012-04-03
  • 2021-07-05
  • 1970-01-01
  • 2021-07-04
  • 2021-06-12
相关资源
最近更新 更多