나는 종종 이것을 스크립트에서 발견합니다 (그리고 그것을 스스로 인정해야합니다) :
a=$(echo "$x" | sed "s/foo/bar/")
또는
if echo "$x" | grep -q foo
then
...
fi
정규 표현식을 포함하려면 "foo"를 고려하십시오.
나는이 있어야한다고 생각 - 그리고 대부분 입니다 - 구이 두 명령과 파이프를 포함하지만, 좀 더 컴팩트 식으로 일을 래핑하지 않는 하나 더 좋은 방법.
나는 그것을 찾을 수 없습니다. 아무도?
나는이 표현이 무지 (대안을 모름)와 유지 보수성 (대안을 알고 있지만 이것을 이해하기 쉬운 것으로 선택)의 조합으로 인해 자주 사용되기를 기대합니다. 나는 당신의 예제가 무엇을 한눈에 알 수 있지만 grawity와 Dan McG의 답변에서 대안을 찾기 위해 쉘 참조가 필요합니다.
—
quack quixote
그건 그렇고, 명령 대체를 선호하는 방법은
—
추후 공지가있을 때까지 일시 중지되었습니다.
$()
백틱보다 오히려입니다.
공백이 보호되도록 확장을 인용하는 것도 좋습니다 :
—
Chris Johnsen
a="$(echo "$x" | sed "s/foo/bar/")"
및 if echo "$x" | grep foo; …
.
$ () vs.``에 대한 좋은 언급. 내 bash 기술이 아직 그렇게 좋지 않다는 것을 알았습니다.
—
DevSolar