bash - 从 Debian Buster VM 上的另一个 bash 脚本中调用 Bash 脚本
问题描述
我有一个脚本,someutil.sh
我想在另一个脚本中调用它main.sh
。
两个脚本都是:
- 在
~/bin
并且是可执行的 (chmod +x someutil.sh
)。 - 以
#!/bin/bash
- 命令行功能
$PATH~/bin
默认包含并~/.bashrc
包含别名:
alias someutil="someutil.sh"
alias main="main.sh"
我尝试someutil
通过以下方式在脚本中运行
- someutil args(与交互式命令行上的用法相同)
- ./someutil 参数
- ~/bin/someutil.sh 参数
Main.sh
如果我尝试使用别名,则执行但会为“someutil”提供“找不到命令”错误。
someutil
还创建一个临时使用的文件(在主目录中),然后尝试将一些数据附加到(使用>>
,但这会引发“权限被拒绝错误”)。但是,我使用“ sed -i ...
”将文件作为输入文件的部分工作正常。
我也尝试过遵循这些答案的建议:
唯一有效的方法是调用函数 using~/bin/someutil.sh
但我真的很想使用别名(为了便于阅读)并将命令添加到路径以避免总是给出完整路径。我也不明白为什么创建文件的脚本以后不能编辑它......
因此,我显然缺少路径变量(不同用户或环境的不同路径变量),或者不知何故不了解脚本在执行时运行的权限。
我在 Chromebook 上的虚拟机上使用 Debian Buster(“Linux 开发环境(Beta)”)。
帮助将不胜感激!
解决方案
推荐阅读
- python - 浏览器中的 Html 与 Python 中请求的不同
- java - 在 JavaFX 中获取行号
- python - 表单没有在 django 中呈现
- android - 可以使用 setAlarmClock 绕过打盹模式吗?
- html - 离子列表项单击并导航
- postgresql - 如何在 Vercel 无服务器功能中处理 Postgres 连接池?(“角色连接太多”)
- r - 将字符串连接成数字向量
- python-3.x - Tensorboard 显示空白页(拒绝执行来自“http://localhost:6006/index.js”的脚本,因为它的 MIME 类型)
- c# - c# 使用 system.numerics 将数组元素相乘
- html - 在html中使用span标签时为换行设置完整的边框底部