【发布时间】:2013-08-04 19:43:42
【问题描述】:
我有一个非常烦人的问题,我完全迷失了。
我只是想从一个 php 页面运行一个 bash 脚本。
bash 脚本很长....所以我创建了一个 caller.sh,它调用 ./mainScript.sh 在后台运行如下:
nohup /bin/bash /home/test/customcoincode/CoinCreationBashFile.sh $coinName $coinNameAbreviation $blockReward $blockSpacing $targetTimespan $totalCoins $seedNode $nameSeedNode $headline >> /tmp/BASH2log.txt 2>&1 &
在阅读我的日志文件时,似乎有些变量没有被传入......
在以下代码行:
echo "Creating New Coin - Downloading code base repo"
echo "$localFolder/$coinName"
mkdir -p "$localFolder/$coinName";
cd "$localFolder/$coinName"
git clone "$baseRepository" "$localFolder/$coinName"
echo "Made it here 1"
我得到以下输出:
Creating New Coin - Downloading code base repo
/home/test/Foocoin
cloning into '/home/test/Foocoin'
could not create directory '/var/www/.ssh'
host key verification failed
blah blah ....
为什么它在 /var/www/ 目录中查找?如果我从终端运行脚本可以正常工作吗?
非常感谢
【问题讨论】:
-
不完全是,
.ssh目录在那里创建为 apache 的“个人配置文件”。他的路很好。这可能会对您有所帮助:Run a shell command as another user or change Apache's user? -
如果您自己创建
.ssh并提供www-data或系统上运行apache 的任何用户对该文件夹的写入权限,这可能会有所帮助。 -
因为似乎有人删除了他/她提供 3/4 解释的评论:shell 脚本在用户 apache 运行时执行。
/var/www是他/她/它的主目录。 -
我会为 apache 创建新的 ;) saver 这样。
-
你先生是神!谢谢你解决了我所有的问题,现在一切正常:) 非常感谢