Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

ShellScript String in Variable

Frage Entwicklung Batch & Shell

Mitglied: TobiSC

TobiSC (Level 1) - Jetzt verbinden

24.05.2011 um 23:34 Uhr, 6329 Aufrufe, 8 Kommentare

Hallo zusammen

ich habe in einem bash-skript eine variable ($wert), die enthält ein wert 7.52318 aus einer berechnung. nun bearbeite ich den mit cut, dass nur noch die ersten 3 stellen vorhanden sind, also 7.5. wie kann ich nun den neuen wert einer variable zuweisen? so wie ich es in meinem skript mache, funktioniert es nicht:

01.
value=$($wert | cut -c 1,2,3 2>&1);
ich erhalte den fehler "7.52318: Kommando nicht gefunden".

danke und gruss
TobiSC
Mitglied: ketchup
25.05.2011 um 09:04 Uhr
das wäre meine lösung:

value=`echo $wert| cut -c 1,2,3 2>&1`
  1. echo $value
7.5

lG
Jürgen
Bitte warten ..
Mitglied: TobiSC
25.05.2011 um 11:11 Uhr
Hallo Jürgen

das klappt so, genau wie ich es wollte!
vielen dank!!

grüsse
TobiSC
Bitte warten ..
Mitglied: micneu
25.05.2011 um 13:53 Uhr
willst du nicht als erledigt abhacken?
ich wollte auch noch antworten, brauch ich ja nicht mehr

gruß michael
Bitte warten ..
Mitglied: TobiSC
25.05.2011 um 18:25 Uhr
jep, ich wollte abhacken, aber es sieht aus, als ob ich das mit den variablenzuweisungen noch nicht ganz kapiert habe...
wenn ich aus einem verzeichnis die neuste datei auslese, wie kann ich diese dann direkt in eine variable schreiben?

die ausgabe des neusten files klappt:
01.
ls -t -r | tail -n 1
nun aber dieses file in eine variable, analog wie jürgen meinte:
01.
picture=`echo ls -t -r | tail -n 1 2>&1`
das geht so nicht. wie sollte ich dies dann definieren?

grüsse
TobiSC
Bitte warten ..
Mitglied: Biber
25.05.2011 um 21:37 Uhr
Moin TobiSC,

willkommen im Forum.


Du hast es einfach nur komplizierter gemacht als es eigentlich ist.
Durch den (überflüssigen) versuchten Umweg über "echo" klappt es nicht.

[Demo am bash-Prompt.(also das "bash-3.00$ " NICHT mit eingeben)]
bash-3.00$ ls -t -r | tail -1 
MeinNeuestesFile.sh  
 
bash-3.00$ myvar=`ls -t -r | tail -1` 
bash-3.00$ echo $myvar 
MeinNeuestesFile.sh 
Grüße
Biber

P.S. ich habe eine andere tail-Variante, deshalb fehlt bei mir der Parameter "-n ".
Das Fehlermeldungen-Umleiten-Krams kann natürlich auch wieder dran - war jetzt bloss nicht wesentlich.
P.P.S. @all
Ich wäre dankbar dafür, wenn ihr Beiträge nicht "abhacken", sondern einfach nur "abhaken" würdet in den Bereichen, in denen ich gelegentlich mitlese.
Bitte warten ..
Mitglied: TobiSC
25.05.2011 um 21:45 Uhr
Hallo Biber

danke, habs eben vor 5min selbst rausgefunden! ich erlaube mir nun noch eine letzte frage: wie kriege ich denn das zweitneuste file im verzeichnis und NUR dieses? wenn ich "tail -2" eingebe, erhalte ich das neuste und zweitneuste, ich möchte aber NUR das zweitneuste!

eine idee?

danke und grüsse

TobiSC
Bitte warten ..
Mitglied: Biber
25.05.2011 um 21:56 Uhr
Moin TobiSC,

Als stinkefauler Pragmatiker würde ich unter *ix sagen: "Nimm die letzten zwei der Liste mit "tail" und davon das erste mit "head".

Sinngemäß also:
ls -t -r | tail -2| head -1
Grüße
Biber
Bitte warten ..
Mitglied: TobiSC
25.05.2011 um 22:02 Uhr
Perfekt

Allerbesten Dank!

TobiSC
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Teil eines Strings als Variable setzen (2)

Frage von tHe-jAy zum Thema Batch & Shell ...

Batch & Shell
gelöst String automatisch anpassen (erweitern oder kürzen) (9)

Frage von CreatorX zum Thema Batch & Shell ...

Debian
gelöst Shellscript per CronJob funktioniert nicht (12)

Frage von Bitcon zum Thema Debian ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (14)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...