BASH programmēšana

Kā novirzīt stderr uz stdout Bash

Kā novirzīt stderr uz stdout Bash
Linux komandām ir vajadzīga lietotāja ieeja, kas var būt fails vai kāds atribūts, un, izpildot, viņi dod kādu izvadi, ko sauc par standarta izvadi. Standarta izeja var būt veiksmīga vai kļūda; abi tiks parādīti jūsu termināla ekrānā. Dažos gadījumos jūs vēlaties saglabāt standarta izvadi failā koda testēšanai vai atkļūdošanai. Linux operētājsistēmā šīs izejas var novirzīt uz failu, un tā uztveršanas procesu sauc par novirzīšanu.

Katrs Linux process rada trīs datu plūsmas: “stdin”, “stdout” un “stderr”:

Katrai datu straumei ir ciparu ID:

Skaitliskais ID Nosaukums
0 stdin
1 stdout
2 stderr

Sīkāk paskaidrosim novirzīšanu sīkāk:

Kā novirzīt standarta izvadi un standarta kļūdu Bash:

Lai novirzītu komandas standarta izvadi, mēs izmantosim “1” ar novirzīšanas operatoru, kas ir lielāks par zīmi “>”:

$ ls 1> stdout.txt

Iepriekš minētā komanda izveidos failu un komandas “ls” standarta izvadi ievietos “stdout.txt ”fails.

Lai izlasītu “stdout.txt ”failu, izmantojiet:

$ cat stdout.txt

Mēs varam arī novirzīt standarta kļūdas uz failu, izmantojot komandu:

$ cat myfile.txt 2> stderr.txt

Lai apskatītu “stderr.txt ”failu, izmantojiet:

$ kaķu stderr.txt

Pārliecinieties, ka lietojums “2” būs lielāks par zīmi “>”. Tā kā nav “myfile.txt ”direktorijā, komanda“ cat ”radīs kļūdu, kas tiks pievienota“ stderr.txt ”fails.

Šīs standarta izejas var novirzīt ar vienu komandu, izmantojiet arī:

$ ls 1> stdout.txt 2> stderr.txt

Komandas “ls” izeja tiks ierakstīta “stdout.txtFailu, bet “stderr.txt”Paliks tukšs, jo nebūtu kļūdu.

Tagad darīsim par “stderr.txt ”:

$ cat myfile.txt 1> stdout.txt 2> stderr.txt

Izmantojiet zemāk minēto komandu, lai lasītu “stderr.txt.”

$ kaķu stderr.txt

Un, protams, “stdout.txt ”būs tukšs.

Secinājums:

Linux komanda izpildot dod standarta izvadi, kas var būt veiksmīga vai kļūdas izeja. Parasti šīs izejas nevar novirzīt, izmantojot novirzīšanas operatorus; mums jāizmanto konkrēti skaitliskie ID ar zīmi “>”. Šajā ceļvedī mēs uzzinājām, kā izmantot šos ciparu taustiņus, lai novirzītu standarta izvadi uz failu ar piemēriem.

Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...