5 berichten aan het bekijken - 1 tot 5 (van in totaal 5)
  • Q:
    Bijdrager
    JRI

    Applescript / Terminal

    Ik vroeg me af of het mogelijk is om de output van een terminal commando in een applescript var te zetten. Hier is mijn code tot nu toe en daar in probeer ik om mijn ip adress in een var te zetten
    [code:1:f69b19fc25]
    tell application "System Events"
    if (count (processes whose name is "Terminal")) is 0 then
    tell application "Terminal"
    do script "ipconfig getifaddr en0" in window 1
    end tell
    else
    tell application "Terminal"
    set var1 to do script "output=`ipconfig getifaddr en0`;echo $output"
    set test to " – " & var1 & "-"
    end tell
    end if
    end tell
    [/code:1:f69b19fc25]

    Alvast bedankt.

    Bijdrager
    Sumar

    Dit is dan wel niet specifiek voor een bepaalde ethernet poort

    set theIpo IPv4 address of (system info)
    — geeft ipadres

    set theMac to primary Ethernet address of (system info)
    — geeft mac adres

    Maar om je vraag te beantwoorden:

    tell application “Terminal”
    set var1 to do shell script “ipconfig getifaddr en1″ — ipv do script
    set test to ” – ” & var1 & “-”
    end tell

    Bijkomend voordeel: geen terminal window nodig

    Bijdrager
    JRI

    Sumar,

    dank je voor je reactie. Ik had intussen al een oplossing gevonden. Voor de volledigheid post ik even hoe ik het gedaan heb, ik heb een koppeling gemaakt met Quicksilver die de ip laat zien

    [code:1:2669760e0a]
    tell application "Terminal"

    set ip0 to do shell script "ipconfig getifaddr en0"

    end tell

    tell application "Terminal"

    set ip1 to do shell script "ipconfig getifaddr en0"

    end tell

    tell application "Quicksilver"
    show large type "wired ip: " & ip0 & "
    wireless ip:" & ip1

    end tell
    [/code:1:2669760e0a]

    Bijdrager
    Sumar

    OK.

    Een kleine opmerking: in de code laat je 2x hetzelfde ip adres zien:

    tell application “Terminal”

    set ip0 to do shell script “ipconfig getifaddr en0”

    end tell

    tell application “Terminal”

    set ip1 to do shell script “ipconfig getifaddr en0”

    end tell

    Bijdrager
    JRI

    Klopt en stom ook. Ik zie dat ik de verkeerde gepost heb. Hier dus mijn script
    [code:1:2cd7912db0]
    set ip1 to getIP("en0")
    set ip2 to getIP("en1")

    tell application "Quicksilver"
    show large type "wired: " & ip1 & "
    wireless: " & ip2
    delay 3
    end tell

    tell application "Terminal"
    quit
    end tell

    on process_item(this_item)
    tell application "System Events"
    try
    get process "Terminal"

    tell application "Terminal"
    activate
    do script "cd " & (quoted form of POSIX path of this_item)
    end tell
    on error (*Terminal Not running, launch and run in first window.*)
    launch application "Terminal"
    (*– May need to wait until Terminal finishes launching*)
    repeat while "Terminal" is not in name of processes
    delay 0.5
    end repeat
    tell application "Terminal"
    activate
    (*– So we don’t create a new window: in window 1*)
    do script "cd " & (quoted form of POSIX path of this_item) in window 1
    end tell
    end try
    end tell
    end process_item

    on getIP(adr)

    try
    set var to do shell script "ipconfig getifaddr " & adr
    on error errMSG
    set var to "not on!"
    end try
    return var
    end getIP
    [/code:1:2cd7912db0]

5 berichten aan het bekijken - 1 tot 5 (van in totaal 5)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.