bash - 如何在 bash 中创建动态别名(条件命令)?
问题描述
如果有第二个参数,我想为“代码文件”(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
}
解决方案
您的语法错误是if $1 then
缺少分号(例如if $1; then
),但请继续阅读... UNIX 中没有“快捷方式”。有脚本、函数和别名。看起来您想创建一个名为的函数,以在给定参数时c
调用某个命名的命令,而在其他情况下调用其他命名的命令。那将是:code
clear
c() {
if (( $# > 0 )); then
code "$*"
else
clear
fi
}
推荐阅读
- python - PHP找不到张量流
- c# - 在 Blazor 中的 Page 和 NavMenu 之间交换数据
- azure - Azure Pipelines YAML:意外的值“变量”
- python - 使用根据数据排序的标签创建数据框
- scala - Scala - 字符串和列对象
- powerbi - SSAS表格/分析服务多币种输入多对多-多币种输出
- php - 如何在 PHP 中的 JSON 响应中编码日期,例如“/Date(1365004652303-0500)/”?
- python - 具有同步下拉菜单的多页 Dash 应用程序不起作用
- python - 从 requirements.txt 安装 PyTorch
- android-studio - 包名称更改后 Admob 广告未显示