답변:
스크립트를 Drush 쉘 스크립트 로 변환 할 수 있습니다 .
drush shell 스크립트는 "execute"비트가 설정되고 (예 : via
chmod +x myscript.drush
) 특정 행으로 시작 하는 Unix 쉘 스크립트 파일입니다 .#!/usr/bin/env drush
또는
#!/full/path/to/drush
Drush 스크립트는 다음과 같은 이유로 Bash 스크립트보다 낫습니다.
다음은 helloword.script에서 찾을 수있는 예 입니다.
#!/usr/bin/env drush
//
// This example demonstrates how to write a drush
// "shebang" script. These scripts start with the
// line "#!/usr/bin/env drush" or "#!/full/path/to/drush".
//
// See `drush topic docs-scripts` for more information.
//
drush_print("Hello world!");
drush_print();
drush_print("The arguments to this command were:");
//
// If called with --everything, use drush_get_arguments
// to print the commandline arguments. Note that this
// call will include 'php-script' (the drush command)
// and the path to this script.
//
if (drush_get_option('everything')) {
drush_print(" " . implode("\n ", drush_get_arguments()));
}
//
// If --everything is not included, then use
// drush_shift to pull off the arguments one at
// a time. drush_shift only returns the user
// commandline arguments, and does not include
// the drush command or the path to this script.
//
else {
while ($arg = drush_shift()) {
drush_print(' ' . $arg);
}
}
drush_print();
스크립트를 실행 가능하게 만들 수 있으므로 스크립트 이름이 <script file> <parameters>
어디에 <script name>
있고 스크립트에 <parameters>
전달 된 매개 변수로 스크립트를 실행할 수 있습니다 . 스크립트가 실행 가능하지 않으면로 호출합니다 drush <script name> <parameters>
.
을 사용하면 먼저 파일에 drush php-eval
스크립트 를 저장 하지 않고도 스크립트 를 실행할 수 있습니다 .
drush php-eval '
$uid = 1234;
$query = db_query("SELECT cid FROM {comments} WHERE uid = %d", $uid);
while($cid = db_result($query)) {
comment_delete($cid);
}
'
이것은 중첩 따옴표를 사용하므로 혼란을 피하기 위해 "
PHP 코드 내에서 큰 따옴표 만 사용하는 것이 좋습니다 .
drush php-script script_name
Drush에서 PHP 파일을 추출 하는 데 사용할 수 있습니다 .
PHP를 실행하기위한 Drush에 관한 도움이 파일 유형은 Drush php-script --help
당신에게 명령을 나열합니다
참고 : Drupal의 루트 폴더에 PHP scirpt를 배치했습니다.
어디에서나 명령 행에서 다음을 실행하십시오.
$ drush --root=/path/to/drupal-installation --uri=youdomain.com scr /path/to/your/script.php
이미 / path / to / drupal-installation에있는 경우 다음을 실행하십시오.
$ drush --uri=youdomain.com scr /path/to/your/script.php
/path/to/drupal-installation/sites/youdomain.com에서 다음보다 더 앞서있는 경우 :
$ drush scr /path/to/your/script.php
script.php 파일 :
<?php
// Not always needed but sometimes you might have to first login as an administrator.
$admin_uid = 1;
$form_state = array('uid' => $admin_uid);
user_login_submit(array(), $form_state);
// Now the logged in user global $user object become available.
global $user;
print_r($user);
// Do whatever you want here.