Bash 分配 $1 值

elb*_*rna 6 bash

#!/usr/bin/bash
kill9="9"
kill15="15"

if [ $1 == $kill9  ]; then
   set -- "$1" "$kill9"
else
   set -- "$1" "$kill15"
fi

echo $1
Run Code Online (Sandbox Code Playgroud)

如果我输入 -9,我希望 $1 变成 9,如果我输入 -15,我希望 $1 变成 15 我上面的脚本是错误的。

我怎么能这样做?

Cyr*_*rus 13

#!/usr/bin/bash
kill9="9"
kill15="15"

if [ $1 = "-$kill9"  ]; then
  set -- "$kill9"
else
  set -- "$kill15"
fi

echo $1
Run Code Online (Sandbox Code Playgroud)

  • 请记住,这将清除 $2 ... $N。如果要保留这些变量,则需要重置所有变量。 (2认同)