wmic
Linux 시스템에서 Windows 시스템을 사용하여 정보를 수집하고 있습니다 . 이를 위해 다양한 wmic
호출을 수행하고 해당 출력을 일부 변수에 저장합니다. 필요한 데이터를 수집한 후 echo
이러한 변수(콜론으로 구분)를 파일에 저장합니다.
그러나 변수가 "빈" 값을 저장할 때 문제가 발생합니다. 두 개의 연속 콜론만 표시하고 아무 것도 표시하지 않기 때문입니다.
변수에 null 값이 저장되어 있는 경우 printf
"하이픈"을 표시하려면 어떻게 해야 합니까?
답변1
다음 구문을 사용할 수 있습니다.
"${var:-word}"
$var
이는 변수의 값이 설정되어 있고 비어 있지 않은 경우 또는 if not 에 의해 제공된 값으로 대체됩니다 word
. 예를 들어:
$ var=foo
$ echo "${var:-bar}"
foo
$ var=
$ echo "${var:-bar}"
bar
따라서 특정 상황에 따라 다음을 사용할 수 있습니다.
echo "${var:--}"
printf '%s\n' "${var:--}"