首页 > 解决方案 > bash脚本未执行

问题描述

无论如何,我是 Web 开发的新手,我正在尝试更多地使用和理解命令行。我一直不得不杀死在端口 3000 上运行的进程,因为每次我尝试重新启动它时,它都会显示“正在使用”。所以我一直不得不在命令行上写同样的两行来杀死它,我决定我想使用一个可执行的 bash 脚本来代替,这样可以节省时间。我制作了 bash 脚本,但我不知道它有什么问题。

#!/usr/bin/bash
x = sudo lsof -t -i:3000
sudo kill ${x} 
echo "Complete"

那是脚本,错误是找不到第 3 行命令。谢谢你的帮助!

标签: bashshell

解决方案


  • 用于赋值时,不要在等号周围放置空格。
  • 双等比较的情况正好相反(必须有周围的空格)。
  • 按照此语法从 存储STDOUTlsof变量中。
  • 始终用双引号将变量引用括起来。
#!/usr/bin/bash
x="$( sudo lsof -t -i:3000 )"
sudo kill "${x}"
echo "Complete"

我没有尝试运行它。现在应该工作得更好。


推荐阅读