我想检测第一个bash输入参数是否为“ debug”(字符串)。
我写这样的脚本:
#! /usr/bin/env bash
if [ "$#" -eq "1" && "$1" -eq "debug" ]; then
echo "hello debug"
fi
Run Code Online (Sandbox Code Playgroud)
错误信息:
line 3: [: missing `]'
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,请帮忙。
用比较字符串==,-eq是算术运算符。另外,[]您必须使用-a而不是运算符&&,或将其分成两部分。以下是写同一件事的几种不同方法:
if [[ $# -eq 1 && "$1" == "debug" ]] ; then
echo "hello debug"
fi
Run Code Online (Sandbox Code Playgroud)
if [[ "$#" == "1" && "$1" == "debug" ]] ; then
echo "hello debug"
fi
Run Code Online (Sandbox Code Playgroud)
if [ "$#" == "1" ] && [ "$1" == "debug" ] ; then
echo "hello debug"
fi
Run Code Online (Sandbox Code Playgroud)
if [ "$#" == "1" -a "$1" == "debug" ] ; then
echo "hello debug"
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |