【发布时间】:2020-10-21 08:27:21
【问题描述】:
我有 2 个文件。 一种是名为 envlist 的列表文件。 另一种是名为test的shell脚本文件。
在envlist(列表文件)中,环境变量列表如下;
setup_top
CFG
那些已经被声明为环境变量。
(所以当我在命令中输入 cd $setup_top 或 cd $CFG 时,效果很好)
在test(shell脚本)中,有如下代码;
#!/bin/bash
dir=$(<$env/envlist) # $env is another environment variable I declared.
for i in ${dir[*]}
do
cd $i # I think this line is a matter.
echo "------------------"
sleep 2
done
当我执行这个 shell 脚本时,我得到了如下错误;
./test: line 6: cd: setup_top: No such file or directory
----------------------------
./test: line 6: cd: CFG: No such file or directory
----------------------------
逐行读取 envlist 文件似乎效果很好,但 cd 命令似乎不起作用。
如何修复 shell 脚本代码以正常工作?
【问题讨论】:
-
如果
setup_top和CFG是相对路径,则需要在循环末尾包含cd ..。