이 웹 사이트 및 다른 온라인 소스에서 발견 한 바에 따르면 변수 주위에 큰 따옴표를 사용한다고합니다. 그러나 그것은 나를 위해 일하지 않습니다. 예를 들어bash에서 변수를 사용하여 grep하는 방법
: 내 변수는 $GTUNNELNATNETIP
[johnwayne:630 ~] GTUNNELNATNETIP=`cat iptables.out |awk '{print $NF}'|cut -d "/" -f1`
[johnwayne:631 ~] echo $GTUNNELNATNETIP
10.19.192.0
[johnwayne:632 ~]
입니다
내가에서 찾고 있어요 파일이 따옴표없이 검색iptables2.out
이 값을 발견하지만 오류없이
[johnwayne:632 ~] grep $GTUNNELNATNETIP iptables2.out
grep: : No such file or directory
iptables2.out:-A POSTROUTING -s 10.19.192.0/22 -o eth1 -j SNAT --to-source 64.134.58.175
[johnwayne:633 ~]
d와 함께 작동하지 않습니다. ouble 또는 작은 따옴표. 또는 다른 형식 나는
[johnwayne:633 ~] grep "$GTUNNELNATNETIP" iptables2.out
grep: Trailing backslash
[johnwayne:634 ~] grep '$GTUNNELNATNETIP' iptables2.out
[johnwayne:635 ~] grep `echo $GTUNNELNATNETIP` iptables2.out
grep: : No such file or directory
iptables2.out:-A POSTROUTING -s 10.19.192.0/22 -o eth1 -j SNAT --to-source 64.134.58.175
[johnwayne:636 ~] /bin/grep $GTUNNELNATNETIP iptables2.out
/bin/grep: : No such file or directory
iptables2.out:-A POSTROUTING -s 10.19.192.0/22 -o eth1 -j SNAT --to-source 64.134.58.175
[johnwayne:637 ~]
내가 파일 및 디렉토리가 존재하는 경우
[johnwayne:637 ~] grep 10.19.192.0 iptables2.out
-A POSTROUTING -s 10.19.192.0/22 -o eth1 -j SNAT --to-source 64.134.58.175
[johnwayne:638 ~]
가 왜 그 그렙 오류가 발생 오류없이 실제 값을 전달할 때 작동
을 시도했습니다? 그리고 어떻게 오류없이 변수를 전달할 수 있습니다. grep이 리턴하는 라인 수를 세어보고 정확히iptables
명령어를 얻으 려하는데 파일 이름이 보이지 않습니다. 이 같은
:
[johnwayne:637 ~] /bin/grep 10.19.192.0 iptables2.out
-A POSTROUTING -s 10.19.192.0/22 -o eth1 -j SNAT --to-source 64.134.58.175
[johnwayne:638 ~]
이 반대가 :
[johnwayne:620 ~] grep $GTUNNELNATNETIP iptables2.out
grep: : No such file or directory
iptables2.out:-A POSTROUTING -s 10.19.192.0/22 -o eth1 -j SNAT --to-source 64.134.58.175
[johnwayne:621 ~]
''echo "$ GTUNNELNATNETIP"''의 출력을 제공 할 수 있습니까? –
'echo "의 출력을 보여줍니다. $ GTUNNELNATNETIP"| 고양이 -vte'? – anubhava