如何将bash中的“代码”更改为“代码”。

时间:2018-12-06 22:42:06

标签: bash terminal zsh

我正在尝试将bash中的code ,更改为code .,但是遇到了很多错误。这应该起作用。

code() {
  if [[ $1 == ,]];
  then
    code .
  else
    code $1
  fi
  return 1
}

由于半冒号,它给我解析错误

如果我取出半冒号,它会给我期望的条件:$ 1

如果我在,上加上引号并重新添加半冒号,如果我在`;'附近遇到解析错误,则

如果我保留引号并删除分号,则会得到预期的条件:$ 1

如果我删除半冒号并转义,,那么它实际上将关闭终端窗口。

这是怎么回事?所有在线文档都可以使用。

1 个答案:

答案 0 :(得分:0)

$ cat foo.sh
#!/bin/bash        # added shebang, bash since you have [[
code() {
  if [[ $1 == , ]] # removed the ; and added a space after ,
  then
    echo then      # added this
    code .
  else
    echo else      # and this
    code $1
  fi
  return 1
}

code $1

运行它:

$ bash foo.sh , | head -3
then
else
else
$ bash foo.sh . | head -3
else
else
else