|
|
|
|
Google Site
|
|||||||
| Fórumok | Regisztráció | Blog | Man oldalak | Fórum Szabályok | Linkek | Albumok | GYIK | Felhasználók | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
![]() |
|
|
Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|||
|
külső funkcióját awk
Hi all, van egy alapvető kétség. Van bármilyen módon használni a külső
funkciók (azaz a függvények nem határozza meg az AWK), a AWK. Nekem van egy shell scriptet, amely vagyok segítségével AWK részlet. Ebben töredék Hívom függvényében határozza meg a shell script. De az AWK részlet nem működik. Rájöttem, hogy ez a probléma az volt, hogy a használat miatti A külső funkció AWK. Van mód arra, hogy oldja meg ezt mondja meg hogyan én tud csinálni. Please Help! |
| Sponsored Links | ||
|
|
|
||||
|
Szia. Itt van egy szkript, amely megpróbálja különböző módszerek hívás funkciók: Kód:
#!/usr/bin/env sh
# @(#) s1 Demonstrate functions with awk.
# ____
# /
# | Infrastructure BEGIN
set -o nounset
echo
debug=":"
debug="echo"
## The shebang using "env" line is designed for portability. For
# higher security, use:
#
# #!/bin/sh -
## Use local command version for the commands in this demonstration.
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version bash awk
my_shell_local()
{
echo " Local function $FUNCNAME called."
}
kamel_seg()
{
echo " Function $FUNCNAME called with arguments \"$*\"."
}
echo
echo " Function is exported to sub-shells:"
export -f kamel_seg
typeset -F
# | Infrastructure END
# \
# ---
echo
echo " Calling shell function from shell:"
kamel_seg hello
echo
echo " Calling shell function from awk:"
awk '
BEGIN { print " In awk" ; kamel_seg }
'
echo
echo " Calling shell function from awk system() call:"
awk '
BEGIN { print "In awk - system" ;
system(" echo Hi from system call" ) ; system( "kamel_seg from awk" ) }
'
echo
echo " Calling awk function:"
awk '
function my_function( message )
{
print " awk function my_function called, argument:" message
}
BEGIN { print " Calling my_function from BEGIN block."
my_function( " Hello there." )
}
'
echo
echo " Calling awk program that calls a shell script with system():"
awk '
BEGIN { print " Calling helper." ; system( "./helper" ) }
'
exit 0Előállítása: Kód:
% ./s1 (Versions displayed with local utility "version") GNU bash 2.05b.0 GNU Awk 3.1.4 Function is exported to sub-shells: declare -fx kamel_seg declare -f my_shell_local Calling shell function from shell: Function kamel_seg called with arguments "hello". Calling shell function from awk: In awk Calling shell function from awk system() call: In awk - system Hi from system call Function kamel_seg called with arguments "from awk". Calling awk function: Calling my_function from BEGIN block. awk function my_function called, argument: Hello there. Calling awk program that calls a shell script with system(): Calling helper. Script "helper" called. awk script called from shell script helper A többi pont között, ez azt mutatja, hogy shell funkciók lehet meg kell hívni, awk system (), feltéve, hogy a shell funkciók exportált (őszintén, én nem számítottam, én csak próbáltam kimeríteni az összes lehetőséget). A rövid Kijelentem, kimenet mutatja a különbséget a helyi és exportált funkcióit. Best wishes ... cheers, DRL |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Elhaladunk a globális változó a funkciót, amelyet az úgynevezett másik funkció | SARS | Shell programozás és Scripting | 4 | 06-30-2008 12:39 PM |
| Külső HDD, mint archive0 | V4Friend | A UNIX a fejlett és szakértői Felhasználók | 3 | 06-09-2008 09:23 AM |
| Külső USB | otterit | Solaris | 2 | 05-02-2005 11:22 AM |
| Külső comands C-ben? | merlin | Programozás | 2 | 01-08-2003 01:15 AM |