我有以下命令向我显示我当前的IP地址:
ifconfig -a | awk 'BEGIN { count=0; } { if ( $1 ~ /inet/ ) { count++; if( count==2 ) { print $2; } } }'
我希望能够将此命令包装到别名中,例如:
alias myip="ifconfig -a | awk 'BEGIN { count=0; } { if ( $1 ~ /inet/ ) { count++; if( count==2 ) { print $2; } } }'"
甚至是这样的函数:
function myip() { ifconfig -a | awk 'BEGIN { count=0; } { if ( $1 ~ /inet/ ) { count++; if( count==2 ) { print $2; } } }' }
但是,这些解决方案都不起作用,我收到了这个错误:
syntax error near unexpected token ``{ifconfig'
我试过这个:
alias myip='ifconfig -a | awk '\''BEGIN{ count=0; } { if ( $1 ~ /inet/ ) { count++; if( count==2 ) { print $2; } } }'\'''
但没有运气。
我怎样才能完成这项任务?
答案 0 :(得分:1)
1)您的功能在结束;
}
function myip() { ifconfig -a | awk 'BEGIN { count=0; } { if ( $1 ~ /inet/ ) { count++; if( count==2 ) { print $2; } } }'; }
HERE --^
2)您只需要function
或()
,但需要not both。 (虽然这取决于你的shell。)
function myip { ifconfig -a | awk 'BEGIN { count=0; } { if ( $1 ~ /inet/ ) { count++; if( count==2 ) { print $2; } } }'; }
3)在您尝试功能之前,您可能没有unalias
您之前的尝试
unalias myip
进行这些更改后,该函数应该没有语法错误。