스크립트를 실행할 때:
#!/bin/bash
DRUPAL_ROOT=$(drush status root --format=list)
if [ -z $DRUPAL_ROOT ]
then
echo -e "Not exists Drupal core"
else
echo $DRUPAL_ROOT
cd $DRUPAL_ROOT
fi
산출:
# /right/drupal/root
하지만 길은 변하지 않았다
터미널에서 명령을 실행하면:
# DRUPAL_ROOT=$(drush status root --format=list)
# cd $DRUPAL_ROOT
변경 확인
어떤 아이디어가 있나요? 감사해요.
답변1
주석에서 언급했듯이 스크립트는 서브쉘에서 실행되므로 디렉토리는 변경되지 않습니다. .
스크립트를 사용 하거나 가져오거나 source
이를 위한 함수를 만들 수 있습니다.
drup_cd() {
DRUPAL_ROOT=$(drush status root --format=list)
if [[ ! $DRUPAL_ROOT ]]; then
echo -e "Not exists Drupal core"
else
echo "$DRUPAL_ROOT"
cd "$DRUPAL_ROOT"
fi
}
.bashrc
예를 들어, 귀하의 계정에 추가할 수 있습니다. 또한 내부적으로 따옴표가 없는 변수를 사용하면 [ ]
오류가 발생하기 쉽습니다.