이것은 내가 겪고있는 문제를 단순화하기위한 것입니다. 나는 변수를 설정하는 함수를 정의하고이이 시나리오에서 작동 :파이프의 일부일 때 배시 기능이 실패합니다.
$ function myfunc { res="ABC" ; }
$ res="XYZ"
$ myfunc
$ echo $res
ABC
그래서 입술 MYFUNC에 대한 호출에 의해 변경되었습니다. 그러나 :
$ res="XYZ"
$ myfunc | echo
$ echo $res
XYZ
따라서 myfunc가 파이프의 일부일 때 값은 변경되지 않습니다. 파이프가 관련되어 있어도 myfunc가 원하는 방식으로 작동하도록하려면 어떻게해야합니까?
이 불가능감사
아마 'myfunc | echo'는 새로운 프로세스에서 호출되는 반면, 첫 번째 경우에는'myfunc'가 현재 프로세스에서 호출됩니다. – cnicutar