【发布时间】:2017-03-17 16:14:08
【问题描述】:
我想运行这个脚本 bash
#!/bin/bash
# file name: myscript.sh
PROJECT_DIR=$1
mkdir $PROJECT_DIR
mkdir $PROJECT_DIR/PolySkills
mkdir $PROJECT_DIR/PolySkills/cr
mkdir $PROJECT_DIR/PolySkills/cr/corrections
mkdir $PROJECT_DIR/PolySkills/cr/corrections/jpg
mkdir $PROJECT_DIR/PolySkills/cr/corrections/pdf
mkdir $PROJECT_DIR/PolySkills/cr/diagnostic
mkdir $PROJECT_DIR/PolySkills/cr/zooms
mkdir $PROJECT_DIR/PolySkills/data
mkdir $PROJECT_DIR/PolySkills/exports
mkdir $PROJECT_DIR/PolySkills/scans
mkdir $PROJECT_DIR/PolySkills/copies
cd $PROJECT_DIR/PolySkills
cp ~/file.tex $PROJECT_DIR/PolySkills
对于代表我将在其中创建文件夹的路径的变量“PROJECT_DIR”,我想从 php 变量中检索其值。 我在互联网上查看了一些示例,并尝试了一个,但它不起作用。这是我用的:
chdir('~/');
$pathtofile = "~/ExportEval/".$NomUE."/".$NomOcc."/".$Numtudiant;
$directory=$pathtofile."/AMC_Project";
$output = exec("./myscript $directory");
知道脚本文件“myscript”存在于home“~/”中
谢谢你的帮助:)
我更新了我的问题: 我发现了问题所在,但我看不到解决方案是什么,因为变量 $NomUE 由一个用空格分隔的句子组成同一句话的第二个字!我不明白为什么它不以 $pathtofile 作为路径!
【问题讨论】:
-
你有什么理由不想只用 php 来做吗?
-
是的,然后我将运行 AMC 命令(一个可以自动修复 qcm 的工具),所以我需要一个 bash 脚本来执行此操作
-
我发现了问题所在,但我看不出解决方案是什么,因为变量 $NomUE 由一个用空格分隔的句子组成,它认为如果我改变 $1 只是这句话的第一个$ 1 by $ 2 它需要同一句话的第二个单词!我不明白为什么它不以 $pathtofile 作为路径!