![Bash의 다른 명령에서 변수에 값 할당](https://linux55.com/image/51771/Bash%EC%9D%98%20%EB%8B%A4%EB%A5%B8%20%EB%AA%85%EB%A0%B9%EC%97%90%EC%84%9C%20%EB%B3%80%EC%88%98%EC%97%90%20%EA%B0%92%20%ED%95%A0%EB%8B%B9.png)
SUFFIX 변수가 /dev/fd/[fd]를 유지하도록 bash에서 이 작업을 수행합니다.
SUFFIX=<( echo "&*645\[]}#@name" | sed -r 's/[^[:alnum:]]+/_/g' )
괄호 사이에 실행된 명령의 실제 결과를 어떻게 할당해야 합니까? 따라서 이 경우 SUFFIX에 값을 할당해야 합니까 _645_name
?
답변1
답변2
이것이 접미사인 경우 대답은 간단해야 합니다.
suffix="${str##*[!_A-Za-z0-9]}"
이렇게 얻은 조각은 기껏해야 머리와 꼬리만 얻을 수 있다. 하지만 다음을 얻을 수 있습니다.
head="${str%"${tail:="${str##*[!_A-Za-z0-9]"}"}"}"