나는 이 JS 과제와 동등한 것을 찾고 있습니다.
FOO = FOO || "I must have been falsey!";
답변1
어느 하나이러한 확장과제를 완료하려는 특정 시간에 따라 찾고 있는 것이 될 수 있습니다.
콜론을 생략하면 설정되지 않은 매개변수만 테스트됩니다. [...]
${parameter:-word}
인수가 설정되지 않거나 비어 있으면 단어의 확장이 대체됩니다. 그렇지 않으면 매개변수 값이 대체됩니다.
${parameter:=word}
인수가 설정되지 않거나 비어 있으면 단어의 확장이 인수에 할당됩니다. 그런 다음 매개변수의 값을 바꿉니다. 위치 매개변수와 특수 매개변수는 이 방식으로 할당할 수 없습니다.
처음 사용할 때만 기본값을 설정하려면 다음을 수행하십시오.
some-command "${FOO:=default value}"
other-command "$FOO" # both use "default value" if FOO was null/unset
이를 명시적으로 만들고 싶다면 다음과 같이 하세요.
FOO="${FOO:-default value}"
some-command "${FOO}"
답변2
"가짜"가 무엇을 의미하는지에 따라 다릅니다. Bash에는 특별한 값 True
이나 가 없으므로 False
"false" 값은 0뿐입니다. 그런 다음 변수를 빈 문자열로 설정하거나 설정 해제할 수 있습니다.
변수 가 설정되지 않았거나 NULL( ) 또는 빈 문자열로 설정된 경우
\0
변수를 설정합니다 .## unset variable $ foo=${foo:="I must have been unset empty or null!"} $ echo "$foo" I must have been unset, empty, or null! $ foo="" ## set to the empty string $ foo=${foo:="I must have been unset, empty, or null!"} $ echo "$foo" I must have been unset, empty, or null!
현재 값이 false(
0
)인 경우 변수를 설정합니다.$ foo=0 $ (($foo)) || foo="I must have been unset, empty, or null!" $ echo "$foo" I must have been unset, empty, or null!