나는 터미널에 대해 잘 알지 못하지만 내가 알고 읽은 몇 가지 사항을 통해 printf가 echo보다 더 강력하고 편안하지만 유사한(동일하지는 않더라도) 목적으로 사용될 수 있다고 믿게 되었습니다. 그래서 나는 스스로에게 물었습니다. echo와 관련된 모든 문제를 잊을 수 있도록 printf에 echo의 별칭을 지정하는 것이 현명할까요? 아니면 이식성 등 내가 볼 수 없는 것이 있는 걸까요?
필요한 경우 시스템은 Windows 10에서 WSL2를 실행하는 Ubuntu 20.04입니다.
답변1
아니요, 그렇게 하는 것은 현명하지 못할 것입니다.
printf
매우 다르게 작동하므로 echo
습관을 바꾸고 printf
가능하면 사용해야 합니다(항상, 그러나 더 복잡하고 더 많은 생각이 필요한 간단한 작업의 경우) 및/또는유용하다/필요하다(변수, 반복, 특수 문자, 숫자 형식 등의 경우)
간단한 예를 들어보세요:
$ echo "100%"
100%
$ printf "100%"
bash: printf: `%': missing format character
다른 예시:
$ echo "Hello" "World"
Hello World
$ printf "Hello" "World"
Hello
또한 printf
다음에는 개행 문자가 없습니다 Hello
.
이는 첫 번째 매개변수가 문자열 printf
이기 때문입니다.FORMAT
printf FORMAT [ARGUMENT]...
당신은 또한 볼 수 있습니다 man printf
.