【发布时间】:2019-02-26 14:59:32
【问题描述】:
我需要转换脚本:
s#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage:"
echo ${0##*/}" <port>"
echo
exit 1
fi
r=`ss -ln6tp | grep -c ":::$1"`
if [ $r -ne 1 ]; then
echo "Agent on port $1 is not listening."
exit_code=2
else
echo "Agent listening on port $1"
exit_code=0
fi
exit $exit_code
我完全没有使用 bash 的经验,而且我的 powershell 知识很基础。退出代码是我这里的主要问题。请问有什么想法吗?
【问题讨论】:
-
只有
$exit_code的行将输出退出代码。 -
请编辑问题并解释 bash 脚本应该做什么。您是在 Windows 或某些 *nix 上运行脚本吗? Powershell 和 Windows 的工作方式与 *nix 大不相同,因此重新实现可能大不相同。
-
$exit_code = 0为 PowerShell 中的变量$exit_code赋值。exit $exit_code在 PowerShell 和 bash 中是相同的。现在请去找 bash 和 PowerShell 教程。 SO 既不是免费翻译服务,也不是您熟悉所用语言的替代品。 -
我假设您希望从在 linux 上运行这个脚本到在 Windows 上运行这个脚本,这可能意味着这个脚本所期望的各种工具(ss,grep)将不被安装。您能否告诉我们您希望脚本做什么?直接编写功能而不是尝试翻译它会更容易。
标签: bash powershell