我这里有一个linux盒子,我已经在我的Windows电脑上设置了一个cifs共享文件夹。没有问题,它完全按照预期工作。但是,我考虑使用同一个目录运行一些bash脚本,似乎它找不到我的根。
now=$(date +"%Y-%m-%d")
#or: `now=$(date +%s)` if you back up more than once a day
mkdir /__backup/"$now"
从共享文件夹执行此操作会显示无法找到目录 运行这些命令:
echo "$0"
dirname "$0"
将地址显示为“。”
有没有人对如何让它运行有任何想法?
答案 0 :(得分:0)
你在做:
#!/bin/bash
now=`date "+%Y-%m-%d"`
mkdir "/__backup/$now"
所以这仅在/__backup/
存在时才有效。做:
#!/bin/bash
now=`date "+%Y-%m-%d"`
mkdir -p "/__backup/$now" # -p creates parent directories as needed (see man mkdir)
#Optional: change directory to the one you just created:
cd /__backup/$now
当然,您需要root才能在/
中创建目录,因此您可能需要检查该目录。
if [ `whoami` = "root" ]; then
# You are root...
else
echo "Error: Only root can do that."
exit 1
fi
如果您在__backup
中创建~
,则可以避免需要root的整个问题。您可能还想隐藏__backup
,方法是将其重命名为.backup
。