【问题标题】:How to create dynamic alias (Conditional command) in bash?如何在 bash 中创建动态别名(条件命令)?
【发布时间】:2019-07-15 05:00:52
【问题描述】:

如果有第二个参数,我想为“代码文件”(VS Code)创建快捷方式,或者如果单个命令行中没有参数,我想为“清除”创建快捷方式,但我不知道 bash 语法是如何工作的。

通过查看我创建的 mkcd (mkdir & cd) 快捷方式:

function mkcd {
  if [ ! -n "$1" ]; then
    echo "Enter a directory name"
  elif [ -d $1 ]; then
    echo "\`$1' already exists"
  else
    mkdir $1 && cd $1
  fi
}

我尝试做同样的事情,但错误显示“意外标记 `else' 附近的语法错误”

function c {
  if $1 then 
    code $1
  else
    clear
  fi
}

【问题讨论】:

    标签: bash if-statement visual-studio-code


    【解决方案1】:

    您的语法错误是 if $1 then 缺少分号(例如 if $1; then),但请继续阅读... UNIX 中没有“快捷方式”。有脚本、函数和别名。看起来您想创建一个名为 c 的函数,以在给出参数时调用一些名为 code 的命令,否则调用一些名为 clear 的其他命令。那是:

    c() {
        if (( $# > 0 )); then
            code "$*"
        else
            clear
        fi
    }
    

    【讨论】:

      猜你喜欢
      • 2017-09-05
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 2012-02-16
      • 1970-01-01
      • 2019-03-03
      • 2022-01-16
      • 1970-01-01
      相关资源
      最近更新 更多