GNU/Linux >> Znalost Linux >  >> Linux

Co způsobuje všechny tyto řádky deklarovat -x ..., když otevřu terminál?

Spustit

env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo

ke spuštění bash v podrobném režimu. Toto vytiskne každý řádek inicializačního souboru při jeho čtení a každý řádek inicializačního souboru při jeho spuštění a zkopíruje výstup do souboru s názvem foo . Pak se můžete podívat do foo abyste viděli, co způsobuje declare -x být zavolán.


Zjistil jsem, že spousta declare ... příkazy jsou výsledkem export být někde puštěn bez argumentu.

V mém .bashrc jsem náhodně našel nový řádek :

export
VARIABLE=value

Což mělo být

export VARIABLE=value

Ano, je pravděpodobné, že pochází z vašeho .bashrc, protože jste jej upravili. Možná jste do skriptu zavedli chybu syntaxe, která by mohla způsobit jeho výstup.

Můžete se ujistit, že tyto řádky ve vašem .bashrc existují, zadáním:

grep declare ~/.bashrc

Měli byste vidět alespoň tyto 4 řádky vytištěné na konzole. Můžete také zkusit spustit skript .bashrc z výzvy a zjistit, zda se nevypisují nějaké chyby:

bash ~/.bashrc

Linux
  1. Jaký je váš oblíbený trik s linuxovým terminálem?

  2. Jaký je váš oblíbený emulátor terminálu Linux?

  3. Jaký je váš oblíbený linuxový terminálový trik?

  1. Linux – co dělat, když linuxová plocha zamrzne?

  2. Linux – Urxvt pomalu kreslí čáry?

  3. Je Rsync ~/foo Target/foo stejný jako Rsync ~/foo/ Target/foo/?

  1. Jaký je váš oblíbený emulátor terminálu?

  2. Jaký je účel souboru .bashrc v Linuxu

  3. Při volání z terminálu použijte místo instalace Anaconda výchozí Python