1302 번 글의 답장글: Re: 쉘 프로그램? |
글쓴이: 산이
[홈페이지]
|
글쓴날: 2003년 01월 23일 05:56:30 목(새벽) |
조회: 635 |
[강영보]님이 남기신 글:
>
>답변 정말 감사합니다.
>근데여 잘 실행이 안되네요
>
>제가 실행한거는
>
><?
>
>//auto_install.php
>
>$query = "select * from ux_member";
>$result = mysql_query($query,$conn);
>
>while($data = mysql_fetch_array($result)){
>exec("../../bin/free_install.sh");
>}
>?>
>
>이렇게 하구여 free_install.sh
>
>는 산이님이 갈켜주신데로 파라미터값을 $1 $2 해서
사용했는데여
>
>웹에서 auto_install_php 를 실행했는데 아무것도
안됩니다.
>
>혹시나 해서 free_install.sh 에 그냥
>
>#!/bin/bash
>
>print "hello"
>
>
>이렇게 했는데도 실행이 안됩니다. 실행이안되는것
같아서 같은 폴더에
>해도 안되거든여
>
>에러가 발생이 안합니다.
>
>ㅎㅎㅎ 봐주세요
>
>
>
========================================
읍...
작업을 너무 어렵게 하시는것 같은 느낌이 드네요..
앞의 경우는 아무것도 출력하지 않습니다.
이유는 실행한 결과 내용을 가져오는 것이 없기 때문에
또한 BASH 에서는 print 같은 명령어는 없습니다.
웹에서 작업을 하지 마시고 보두 터미널이나 콘솔에서
작업하는 것이 좋습니다.
각 파일간의 변수 전달에 아직 익숙하지 않는 것 같군요.
아래 스크립트를 참고로 BASH 에서 만 작업하도록 해보세요.
-------------------------------------
#!/bin/sh
## 설정 ############
##
mysql='/usr/local/mysql/bin/mysql' ## mysql 클라이언트 프로그램
mysql_server='localhost' ## mysql 서버
mysql_user='root' ## 접속할 유저
mysql_passwd='xxxxx' ## 접속 암호
mysql_db='hosting' ## 접속할 DB
mysql_table='member' ## 정보가 있는 테이블 이름
##
## 설정 끝 ##########
each_install()
{
mallid=$1
(...명령어들...)
(...명령어들...)
}
mysql_connect="-h $mysql_server -u $mysql_user --password=$mysql_passwd"
sql="SELECT uid FROM $mysql_table WHERE type = 'free'"
result=`$mysql $mysql_connect $mysql_db -e "$sql" 2>/dev/null`
IFS='
'
i=0
for mallid in $result ; do
if [ "$i" -gt 0 ] ; then ## 첫번째는 컬럼 이름이므로 건너띔
echo "$i start of $mallid install"
each_install "$mallid"
echo "$i end of $mallid install"
fi
i=$(($i+1))
done
exit 0
--------------------------------
그런데 $mall 은 어떤 변수인가요?
member 테이블에 있는 정보인가요?
그렇다면 앞의 경우를 조금 수정해야 합니다.
이 파일에 설정해 놓은 암호가 맘에 걸린다면
키보드로 입력받아서(read
내부 명령어 사용) 사용하는것이 좋습니다.
예)
echo -n "접속할 암호를 입력하세요: "
read mysql_passwd
mysql_connect="-h $mysql_server -u $mysql_user --password=$mysql_passwd"
|
이전글 : 쉘 프로그램?
다음글 : Re: Re: 쉘 프로그램?
|
from 61.254.75.40
JS(Redhands)Board 0.4 +@
|