어떻게이 스크립트가 실제로 내가 속한 디렉토리를 변경할 수 있습니까? bash는 메뉴가있는 스크립트에서 디렉토리를 변경합니다.
그래서 스크립트는 다음 내가 원하는 것을 선택한 후, 그것이 내가 또한 소스하지만 여전히 아무것도 스크립트를 실행하려고 작동하지 않는 데이터베이스 에서 몇 가지 옵션을합니다 ..#!/bin/bash
options=($(mysql --skip-column-names -uroot -pmypass all_dbs -e "select path from databases_table WHERE locked != 0 "))
read_list(){
echo ""
PS3="Change directory to:"
select opt in "${options[@]}" "Quit" ; do
if ((REPLY == 1 + ${#options[@]})) ; then
exit
elif ((REPLY > 0 && REPLY <= ${#options[@]})) ; then
chosen="$opt"
break
else
echo "Invalid option. Try another one."
fi
done
}
changeto_entry(){
mysql -uroot -pmypass --skip-column-names all_dbs -e "select name,\`database\`,path from databases_table where locked != 0 AND name = '$chosen'" | while read name database path; do
cd $path
done
}
read_list
changeto_entry
+1 이것은 거의 확실한 답변입니다. 나는 긴 선의 끝에 파이프 위에 유약이 풍부 해. 물론 스크립트는'source'd 일 필요가 있습니다. –