Jak to mohu napsat správně pomocí skriptu AIX? Můj požadavek je napsat tento příkaz do test.txt:
clock=$(prtconf -s | awk '{print $4,$5}')
Zkoušel jsem tento příkaz:
print 'clock=$(prtconf -s | awk '{print $4,$5}')' > test.txt
Výstup zapsaný v souboru test.txt mi dává:
clock=$(prtconf -s | awk {print ,})
Pokud použiji " "
uvozovky:
print "clock=$(prtconf -s | awk '{print $4,$5}')"
Dává mi to přímo:
clock=3612 MHz
Jak to mohu vyřešit?
Přijatá odpověď:
Musíte buď nadále používat jednoduché uvozovky, ale poté vytisknout ty, které potřebujete ve výstupu „samostatně“, nebo použít dvojité uvozovky a znaky dolaru ukončit.
Pro druhou možnost:
print "clock=$(prtconf -s | awk '{print $4,$5}')" > test.txt
Za prvé:
print 'clock=$(prtconf -s | awk '''{print $4,$5}''')' > test.txt
(To je 'text'
pak uvozovka '
pak 'other text'
.)
Pro úplnost poznamenejte, že print
rozšiřuje sekvence escape znaků zpětného lomítka (ve vašem případě na tom nezáleží, protože řetězec, který chcete vytisknout, neobsahuje žádné zpětné lomítko). Chcete-li se tomu vyhnout, použijte print -r
.
Linux – obnova po odebrání oprávnění ke spouštění z Ld-linux.so?
Jak rekurzivně odstranit adresáře pomocí zástupných znaků?