bash - 在脚本中扩展 shell 变量
问题描述
如果我在我的环境中定义我的存档文件夹并导出它,我如何在 shell 脚本中访问它并运行程序?
ARCHIVE=/home/kschmidt/public_html/CS265/Assignments/DrMath/Archive
export ARCHIVE
./prob1
目前,我的 prob1 包含此代码,当我尝试运行时出现错误。
#!/bin/bash
print ARCHIVE
解决方案
您可以通过在 shell 变量前面加上 a 来扩展它,然后用or命令$
打印它- shell 没有命令:echo
printf
print
echo "$ARCHIVE"
或者
printf '%s\n' "$ARCHIVE"
顺便说一句,在脚本中使用相对路径(如 )并不好./prob1
,除非您明确地cd
指向存在的目录prob1
。所以,要么:
cd
在使用相对路径调用它之前对脚本目录进行显式处理
或者
- 使用绝对路径(如 /path/to/prob1)
有关的:
推荐阅读
- graph-databases - 图数据库 Nebula Graph 插入记录失败但查询正常
- mysql - 对于 MySQL Workbench 中的数据库,有没有办法获取创建数据库当前状态所需的脚本?
- python - 如何使用 python 从 NAT 内部网络获取我的公共 IPV4 地址
- timeout - 超时 - 谷歌计算引擎
- laravel-lighthouse - 灯塔嵌套删除突变不起作用
- node.js - 安装ejs时NodeJS意外的严格模式保留字“let”(不是我的代码)
- css - 如何避免 CSS 规则 * {} trump .a .b {}?
- powerbi - Power BI - 根据条形图中的选择过滤表
- django - django - 值错误:
在可以使用这种多对多关系之前,需要为字段“id”设置一个值 - performance - 在 Jmeter 中以定期间隔暂停所有线程特定持续时间