내 Bash 코드에서는 때때로 "OR"을 테스트하기 위해 비교 연산자에 긴 인수를 사용합니다.
다음과 같이:
if [[ $production_check_linux_disks_quantity == false ]] || [[ $production_linux_mount_point_reference_to_ambari_definition == false ]] || [[ $production_check_linux_mount_point_quantity == false ]] || [[ $production_show_linux_disks_simulation == false ]]
then
문제는 구문이 너무 길고 보기 흉하다는 것입니다.
더 짧고 우아하게 만드는 방법에 대한 아이디어가 있습니까?
답변1
에서 줄을 끊을 수 있습니다 ||
. 사실 이 줄은 언제든지 끊을 수 있습니다.제어 연산자. 따라서 ||
, !
, &&
, &
, ;
, ;;
, |
, |&
, (
또는 )
.
이는 귀하의 예에 대한 올바른 구문입니다. 예를 들어 다음이 필요하지 않습니다 \
.
if [[ $production_check_linux_disks_quantity == false ]] ||
[[ $production_linux_mount_point_reference_to_ambari_definition == false ]] ||
[[ $production_check_linux_mount_point_quantity == false ]] ||
[[ $production_show_linux_disks_simulation == false ]]; then
echo yes
fi
\
제어 연산자로 끝나지 않으면 여러 줄을 연결해야 하지만 제어 연산자로 끝나는 경우에는 연결할 필요가 없습니다.
또한, if [[ $var == false ]]
변수의 값이 $var
문자열 인지 확인하는 false
것이므로 로 작성하는 것이 더 나을 것이라는 점을 참고하시기 바랍니다 if [[ $var = 'false' ]]
. 귀하의 코드는 $var
-1 또는 0이거나 설정되지 않은 경우 true로 평가되기를 원할 수 있음을 제안합니다 .