bash - If/Else 语句检查是否提供了参数
问题描述
我正在努力简化我的 Git 工作流程,我有一个 shell 函数,可以在提供文件名时添加、提交和推送文件。但是,我试图在函数中添加一个 if/else 语句来检查函数调用是否提供了文件名参数。这是我的代码:
#!/bin/bash
sendit (){
local filename="$1"
if [[ -z "$filename" ]]; then
echo "No filename supplied."
return 1
else
git add "$filename"
read -p "Commit description: " desc
git commit -m "$desc"
git push origin master
fi
}
当我运行sendit [filename]
一切正常时,但是当我运行没有文件名的函数时,仍然会提示我添加提交描述而不是退出。
解决方案
推荐阅读
- visual-studio-mac - 如何获取Visual Studio Mac 社区版仅限使用netstandard2.0?
- php - PHP中条带源端点的差异
- c# - 替代 Asp.NET Core 身份验证框架
- delphi - 如何在 Delphi 中同步两个 RichEdits 之间的选择
- sql - Presto 相当于 CONCAT_WS
- pandas - 使用 sqlalcheny 创建的表未显示在 Amazon RDS 中
- c++ - 问:如何使用 C++ 中的按钮从窗口打开窗口?
- microsoft-graph-api - 使用 Graph 修改 Exchange Online 发送连接器
- javascript - 删除嵌套数组的对象(Javascript)
- r - R:使用 mclapply 加载多个 RData 不起作用