shebang - 社邦表情
问题描述
在我的一个 shell 脚本(比如 abc.sh)中,如果条件低于 Sleeptime,只要在参数中将 sleeptime 作为 null 传递,-1 就会被默认。这个逻辑在 ksh 中运行良好,但在 bash 中不行,原因是 -eq 关系运算符在比较空字符串时在 bash 中不起作用。为了解决这个问题,我在脚本开头添加了 shebang 表达式 #!/bin/ksh。
if [ "$Sleeptime" -eq "" ]; then
Sleeptime=-1
fi
将shebang表达式添加到我的脚本后,比较和默认工作正常,但是当我的abc.sh从其他海关sh文件执行时,比较和默认不起作用,我也尝试在自定义sh文件中添加shebang表达式但仍然面临问题。任何指针请解决问题。
自定义sh文件内容:
#!/bin/ksh
cd /opt/common/config/
sh abc.sh $1 $2 $3
$3- is the sleeptime argument
解决方案
推荐阅读
- python - numpy where 用于数组数组
- python - Django ORM 获取每个组的最新项目
- json - json和soap API使用什么应用服务器
- django - 如何通过从 django 中的数据库中检索选项来在下拉菜单中显示类别?
- python - pygsheet 操作超时 [Errno 60]
- c# - 使用 FiddlerCore 从特定 URL 捕获响应
- ios - Animate UICollectionView contentInset adjustment
- javascript - 在挂载时执行的第一个 GET 请求期间加载微调器不起作用
- reactjs - 在文件之间传递状态值
- javascript - vue默认重定向导致最大堆栈错误