을 입력 echo hello
하면 터미널이 다음과 같이 보입니다.
My-Computer:~ user$ echo hello
hello
My-Computer:~ user$
하지만 이런 기능이 있다면
stringen () { cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-Z-A-z-0-9' | head -c "$1" ; }
이렇게 생겼어요
My-Computer:~ user$ stringen 18
^\k6JPWVIUdEiudcWSMy-Computer:~ user$
새 줄로 인쇄되지 않는 것이 보이십니까? 사용 똑같은 printf
대 echo
. 내 함수가 이와 같이 새 줄을 만들도록 어떻게 할 수 있습니까? 나는이 ;
일을 처리 할 것이라고 생각 했지만 분명히 그렇지 않았습니다.
예를 들어, 이것은 내가 원하는 것을 반환합니다.
variable=$(stringen 18)
echo $variable
에코가있는 건가요?
나도, cat
, tr
또는 head
개행 문자 추가하지 않습니다 (이 urandom
수를,하지만 난 그것을 신뢰하지 것이다 그래서 무작위입니다). printf '\n'
함수의 끝에 a 또는 echo
.
BTW, 일부 셸은 zsh
이러한 종류의 상황을 방지하기 위해 추가합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다