가능한 중복 :이 AS3 또는 Java 인 경우
Ternary operator (?:) in Bashbash에 인라인 if와 할당 (3 진 조건부)이 있습니까?
, 나는 다음을 수행합니다 : 필요, 불필요하게 복잡한 것 같다
fileName = dirName + "/" + (useDefault ? defaultName : customName) + ".txt";
그러나 쉘
, 몇 줄의 코드와 꽤 많은 반복 코드가 포함되어 있습니다.if [ $useDefault ]; then
fileName="$dirName/$defaultName.txt"
else
fileName="$dirName/$customName.txt"
fi
모든 것을 한 줄로 압축 할 수는 있지만 명료하게 희생됩니다.
셸에서 변수 할당을 사용하여 인라인 if
을 작성하는 더 좋은 방법이 있습니까?
윌리엄 퍼셀 (William Purcell)의 대답은 나의 것보다 덜 직접적이지만 '$ useDefault'가 기본 이름을 사용할지 여부를 제어한다고 가정하면 클리너 솔루션이 될 수 있습니다. –
나는 모든 것을 정확하게 인용 할 내 대답을 업데이트했다. –