【发布时间】:2021-04-25 02:21:37
【问题描述】:
如果文件夹不存在,我已经编写了一个 bash 脚本来创建一个文件夹,并在我的环境文件中设置了变量并在我的 .sh 文件中引用了它
下面是我的脚本,我在我的环境文件中添加的 .sh 文件中添加了变量。
#!/bin/bash
if [ ! -d "$checkfolder" ]; then
mkdir -p "$createfolder";
fi
我在 /etc/environment 文件中设置了以下环境变量
checkfolder=/home/ubuntu/hello23
createfolder=/home/ubuntu/hello23
当我执行脚本时出现以下错误:
ubuntu@:~/cicd$ ./createfolder.sh
mkdir: cannot create directory ‘’: No such file or directory
这是我编写的普通脚本,如果它不存在,它会工作并创建一个文件夹
if [ ! -d /home/ubuntu/hello ]; then
mkdir -p /home/ubuntu/hello;
fi
这里有什么问题,我应该做些什么改变?
【问题讨论】:
-
您的变量为空。不确定您要达到的目标,但简单的 mkdir -p 就足够了(无需测试)。但是在测试时你至少应该使用相同的变量
-
@BilalYousaf :您必须创建一个新的登录 shell (
bash --login) 才能读取/etc/environment。这被描述为here。或者,您可以将脚本中的第一行更改为#!/bin/bash -l