如果有第二个参数,我想为“代码文件”(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
}
答案 0 :(得分:1)
您的语法错误是if $1 then
缺少分号(例如if $1; then
),但请继续阅读...在UNIX中没有“快捷方式”。有脚本,函数和别名。似乎您想创建一个名为c
的函数,以在给定参数时调用名为code
的某些命令,否则创建名为clear
的其他命令。那应该是:
c() {
if (( $# > 0 )); then
code "$*"
else
clear
fi
}