설정 파일에서로드 된 함수에 변수를 전달하고 있습니다. 이 변수는 차례로 grep에 전달됩니다. 검색 변수 ($ 1)를 확장하는 몇 가지 방법을 시도했지만 아무 것도 작동하지 않는 것처럼 보이지만 검색 할 파일은 잘 작동합니다 ($ 2).변수에 grep이 전달되었습니다.
변수를 grep 함수에 표시하는 올바른 방법은 무엇인지 조언 해 줄 수 있습니까? 나는 "$ {1}", $ 1, $ {1}, "$ {! 1}
UPDATE 답변을 바탕으로, '$ 1' 을 시도 나는 실제 스크립트를 refelect하는 script.sh를 업데이트 여전히 작동하지 않는 복잡성.
감사 예술 RouteTableId
MyVar=$(grep -m 1 "RouteTableId" $2)
에 대한 변수를 사용하여 코드 작업
RouteTableId
config.file
myTerm="RouteTableId"
myFile="my.file"
script.sh에 대한 변수로 코드를 작동하지
. config.file
myFunction(){
mySubFunction(){
myVar=$(grep -m 1 "$1" $2)
echo $myVar
}
mySubFunction ${!1} ${!2}
}
myFunction "myTerm" "myFile"
좀 더 많은 테스트를 수행하고 그 회전 UPDATE fu와 fu 사이에 변수를 전달할 때 몇개의 상황에서는, 순서의 1 개가 null의 경우, 번호 부가 순서가 변경됩니다. 예를 들어 난 다음, 2중인 변수가 NULL로하여 myFunction 부르면
myFunction "myTerm" "blah" "myFile"
다음 myFunction이 알 것이다
echo "${!1}, ${!2}, ${!3}"
RouteTableId,,my.file
따라 다음
mySubFunction ${!1} ${!3}
로부터 제공 mySubFunction이 지나가는 within mySubFunction
그래서 순서에 null이 제거되고 후속 변수가 숫자 순서로 앞으로 가져 오는 것 같습니다. 누군가가 왜 내가 그것을 고맙게 여기는지를 검증하고 설명 할 수 있다면.
들으 예술
"$ 1" – tinySandy
@Ed, 저에게 탁월한 경력을 쌓을 수있어서 기쁩니다. :) 예, 다른 처리 옵션에서 호출되는 여러 하위 함수가 있습니다. 행복한 페스티 부스! –
@artvanderlay 그런 하위 함수를 사용할 수 있습니까? 100 %는 아니지만 함수에서 함수를 선언 할 수는 없다는 것을 확신 할 수 있습니다. 그렇다고해도 별개의 함수로 선언하는 것이 더 좋을 것이라고 생각합니다. 통화를 다른 통화에 포함하기 만하면됩니다. –