2015-04-09 3 views
3

Я пытаюсь отлаживать мои скрипты. Например, вызов a.sh b.sh.Как восстановить предыдущую опцию 'set -x' в bash

#a.sh 
echo "in a.sh" 
source b.sh 

#b.sh 
echo "in b.sh" 

Если я уверен, что b.sh нормально и просто хотите отладки A.Sh, я бегу, как

bash -x a.sh 

Как отключить отображение «-x» настройка в b.sh , может изменить b.sh, как

#b.sh 
x_option=$(get -x) # if there is such function 
set +x 
echo "in b.sh" 
[ $x_optoin = 1 ] && set -x 
+0

Пожалуйста, не редактируйте вопрос, чтобы предоставить ответ. Если вам не нравится какой-либо из предоставленных ответов, ответ на ваш собственный вопрос в порядке (и вы можете принять его тоже, только вам нужно подождать некоторое время). – tripleee

+0

http://superuser.com/questions/648331/how-to-properly-restore-settings-when-running-a-script-using-source –

ответ

3

от Баш reference manual:

T его текущий набор опций можно найти в $ -.

Это означает, что вы можете посмотреть в этом значении для текущего состояния -x.

Смежные вопросы