如何在bash中创建动态别名(条件命令)?
如果有第二个参数,我想为“code file”和“code”创建快捷方式;如果在单个命令行中没有参数,我想为“clear”创建快捷方式,但我不知道bash语法是如何工作的 通过查看我创建的mkcd mkdir&cd快捷方式:如何在bash中创建动态别名(条件命令)?,bash,if-statement,visual-studio-code,Bash,If Statement,Visual Studio Code,如果有第二个参数,我想为“code file”和“code”创建快捷方式;如果在单个命令行中没有参数,我想为“clear”创建快捷方式,但我不知道bash语法是如何工作的 通过查看我创建的mkcd mkdir&cd快捷方式: function mkcd { if [ ! -n "$1" ]; then echo "Enter a directory name" elif [ -d $1 ]; then echo "\`$1' already exists" else
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
}
您的语法错误是,如果$1,则缺少分号,例如,如果$1;然后继续读下去。。。UNIX中没有快捷方式。有脚本、函数和别名。看起来您希望创建一个名为c的函数,以便在给定参数时调用名为code的命令,否则调用名为clear的命令。那就是:
c() {
if (( $# > 0 )); then
code "$*"
else
clear
fi
}