Bash - kde je chyba?

FKoudelka

Re:Bash - kde je chyba?
« Odpověď #15 kdy: 23. 03. 2023, 19:24:43 »
Kamarád navrhuje toto (neřešit to porovnávání se 4, to vyplyne automaticky):

Kód: [Vybrat]
#!/usr/bin/bash

clear
echo "How to install:"

while true; do
    read -p "Enter a number between 1 and 3: " WhereToStart

    case "$WhereToStart" in
        1) WhereToStart="COMPLETE"; break;;
        2) WhereToStart="WINEHQ+"; break;;
        3) WhereToStart="SKIP_BEGIN_WINEHQ"; break;;
        *) echo "Invalid input. Please enter a number between 1 and 3.";;
    esac
done

echo "You chose $WhereToStart."

Nejlepší, ještě bych možná přidal proměnnou ReadMyInput


Re:Bash - kde je chyba?
« Odpověď #16 kdy: 23. 03. 2023, 20:47:42 »
Když stahuju skript
Kód: [Vybrat]
apt install -y oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)
jak zeditovat ten stažený soubor, aby nenajížděl do shellu a neptal se zda chci nastavit zsh jako výchozí shell?

Když edituju skript na windows v mc se jeví jako ^M na konci řádku asi carriage return, jak odstranit?
počkej až si v MC zedituješ něco z /etc/, třebas services
Už TO NIKDY NEDĚLEJ :-)
pro zobrazení cat -v file
pro úpravu příkaz dos2unix , sed , nebo vi. najdi si syntaxi

pokud by sis takto blbě editovaný skript pustil , skončíš s řadou funny side efektů, jako že ti třeba vytvoří soubory, které ti za nic nepůjdou smazat a ty nebudeš vědet proč a až na to přijdeš, zas nebudeš vědět jak je smazat :-)

Moje chyba byla, že jsem sem uvedl i ten příkaz na instalaci zsh. Mě ale jde o ten příkaz na stažení skriptu a to se pak rovnou spouští... A tam je "dialog" a najede do shellu, což brzdí celý ten průběh toho hlavního instalačního skriptu.

Tu editaci ve Windows notepad jsem použil výhradně na moje externí skripty, které leží na NTFS. V etc edituji zásadně v mc, ne ve Windows. Ano, nestojím o další problémy. Dík za ten dos2unix, podívám se na to. Teď je to dost pomalé protože mi nejde net na Mintu. Asi se to podělalo v souvislostí s VMWare player, když se nepovedlo obnovit stav VM jak byl uložený v paměti. Tak jelikož nejsem na linuxu, budu to zkoušet později. Já asi vím jak je ta syntaxe pro sed, ale nevím jak to celé zkombinovat, 1) aby se skript nespustil hned, tj. dříve než se aplikuje ten sed a 2) aby se ten výstup od sedu spustil jako skript.

k3dAR

  • *****
  • 3 168
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Bash - kde je chyba?
« Odpověď #17 kdy: 24. 03. 2023, 04:40:32 »

ad oh-my-zsh
- pres apt "instalujes" balicek oh-my-zsh kterej neexistuje v repositari Ubuntu/Mintu
- pak skriptem od autora oh-my-zsh sice jak pises neinstalujes zsh, ale oh-my-zsh, ale "nevsiml" sis, ze to je rozsireni do shellu ZSH, na co myslis ze ti to bude bez ZSH?
- nicmene, kdyz se podivas do toho skriptu, je tam napsano ze muzes pouzit parametr "--unattended" co automaticky odpovi "NE" na "zmenit shell na zsh?" a "pustit po instalaci zsh?" vcetne prikladu pouziti pri stazeni install.sh rucne, nebo pres rovnou pousteni stazeneho souboru, na konci hlavicky mas "For example:"


ad "edituju ve Windows skript pro Linux co pak v MC vidim ^M"
- ano jde o CR, Windows na ukonceni radku pouzivaji CR+LF, Linux pouze LF, odstranit:
   - v editoru ve Windows das "Ulozit jako" a prepnes to (pokud to editor umi)
   - v mc (mcedit) das "Ulozit jako" a Zmenit konce radku na "Unix (LF)"
   - automaticky treba: sed 's/\r//' -i tvujskript

k3dAR

  • *****
  • 3 168
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Bash - kde je chyba?
« Odpověď #18 kdy: 24. 03. 2023, 04:53:46 »
[...] Já asi vím jak je ta syntaxe pro sed, ale nevím jak to celé zkombinovat, 1) aby se skript nespustil hned, tj. dříve než se aplikuje ten sed a 2) aby se ten výstup od sedu spustil jako skript.

pokud by ten skript uz nepocital s tim co potrebujez, viz --unattended v me predchozi odpovedi, obecne se to dela tak ze misto abys pres sh poustel vystup z curl, tak ho ulozis, zmenis, pustis:

wget --quiet https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O install.sh
sed "s/cozamenit/zaco/" -i install.sh
sh install.sh
# obecne: nebo pokud by skript byl v bash
bash install.sh
# obecne: nebo uplne obecne
chmod a+x install.sh
./install.sh

pokud bys ho nechtel ukladat muzes v tom puvodnim zpusobu pridat sed pres pipe
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh | sed "s/cozamenit/zaco/")

Re:Bash - kde je chyba?
« Odpověď #19 kdy: 24. 03. 2023, 18:53:07 »
Díky moc k3dAR,
mrknu na to zas až budu ve W8.1 pracovat na tom instalačním skriptu.
Ano já vím, že jsem stáhl zsh i jeho rozšíření.


Re:Bash - kde je chyba?
« Odpověď #20 kdy: 25. 03. 2023, 18:59:05 »
Už jsem vyřešil problém s připojením NTFS pro čtení, takže jdu na to. Otázka.
Dají se v sedu spojit tyto dva příkazy do jednoho volání sedu?
Kód: [Vybrat]
sed "s/read -r opt/#read -r opt/" downloaded.sh
sed "s/exec zsh -l/#exec zsh -l/" downloaded.sh
nebo to musím volat přes pipe? A když to chci uložit do souboru tak musím přidat "> cil_soubor" ?

Re:Bash - kde je chyba?
« Odpověď #21 kdy: 25. 03. 2023, 20:04:04 »
Vypadá to že to nefunguje. Najede to do shellu.
Kód: [Vybrat]
sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh | sed -e "s/exec zsh -l/#exec zsh -l/" -e "s/read -r opt/#read -r opt/")

Re:Bash - kde je chyba?
« Odpověď #22 kdy: 25. 03. 2023, 22:19:24 »
Mam to tak problem byly uvozovky
Kód: [Vybrat]
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh | sed -e 's/exec zsh -l/#exec zsh -l/' -e 's/read -r opt/#read -r opt/')"

k3dAR

  • *****
  • 3 168
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Bash - kde je chyba?
« Odpověď #23 kdy: 26. 03. 2023, 10:38:48 »
Dají se v sedu spojit tyto dva příkazy do jednoho volání sedu?
Kód: [Vybrat]
sed "s/read -r opt/#read -r opt/" downloaded.sh
sed "s/exec zsh -l/#exec zsh -l/" downloaded.sh
nebo to musím volat přes pipe? A když to chci uložit do souboru tak musím přidat "> cil_soubor" ?
daji, oddelis to strednikem... pro provedeni zmeny primo v soubor presmerovani nezabere protoze to prepise drive nez docte,
sed na to ma parametr -i ci jeho delsi/vystiznejsi variantu --in-place
Kód: [Vybrat]
sed 's/read -r opt/#read -r opt/;s/exec zsh -l/#exec zsh -l/' -i downloaded.shresp. sed umi v sekci "na co zmenit" pouzit znak & jako nahradu za "to co hledal", takze muzes:
Kód: [Vybrat]
sed 's/read -r opt/#&/;s/exec zsh -l/#&/' -i downloaded.sh
ale hlavne, to vubec nemusis delat, sem ti  psal ze autor na presne to uz ma parametr --unattended

Re:Bash - kde je chyba?
« Odpověď #24 kdy: 26. 03. 2023, 16:42:13 »
Dík. Ale je to nějaké složité. Já našel ten parametr -e a s tím je to jednodušší.

Mám dotaz. Když spustím skript a chci změnit cestu, dá se to udělat aby ta cesta, kterou najdu v mc zůstala po ukončení mc, neboli aby se změnila cesta uvnitř toho skriptu?

pwd
Kód: [Vybrat]
echo "gdebi packages gonna be installed. Is current folder correct?"
echo "Is the path OK? (read B), expected: [y/n]";
read B
if [ "$B" = "y" ]; then
  echo " ... Starting gdebi install."
else
  echo "Change path and exit to continue... " && mc
fi

Tedy neměl by se ukončit skript, když cesta nesedí, ale změnit ji.

Karmelos

  • *****
  • 1 167
    • Zobrazit profil
    • E-mail
Re:Bash - kde je chyba?
« Odpověď #25 kdy: 27. 03. 2023, 08:32:21 »
Já bych se rád zeptal, proč tady trolíte s instalačníma skriptama na aplikace co jsou v repozitářích? Navíc gdebi máte pravděpodobně na mintu v základu a instalace není na nic potřeba. Aplikace se instalují sudo ap-get install <ten balik>

u gdebi to bude
Kód: [Vybrat]
sudo apt-get install gdebi
Gréta je nejlepší.

3ugeene

Re:Bash - kde je chyba?
« Odpověď #26 kdy: 27. 03. 2023, 08:54:05 »
On ale netroli, je to jen zacatecnik, co se velice rychle uci!

Re:Bash - kde je chyba?
« Odpověď #27 kdy: 27. 03. 2023, 13:59:27 »
Já bych se rád zeptal, proč tady trolíte s instalačníma skriptama na aplikace co jsou v repozitářích? Navíc gdebi máte pravděpodobně na mintu v základu a instalace není na nic potřeba. Aplikace se instalují sudo ap-get install <ten balik>

u gdebi to bude
Kód: [Vybrat]
sudo apt-get install gdebi

Cením si ochoty pomoci, pokud jste svůj příspěvek nemyslel jako trolling.

Ještě jednou zopakuji co jsem napsal a pokud budete offtopic, už na vás dál nebudu reagovat.

Citace
Mám dotaz. Když spustím skript a chci změnit cestu, dá se to udělat aby ta cesta, kterou najdu v mc zůstala po ukončení mc, neboli aby se změnila cesta uvnitř toho skriptu?

Re:Bash - kde je chyba?
« Odpověď #28 kdy: 27. 03. 2023, 14:31:51 »
Mám dotaz. Když spustím skript a chci změnit cestu, dá se to udělat aby ta cesta, kterou najdu v mc zůstala po ukončení mc, neboli aby se změnila cesta uvnitř toho skriptu?

Kód: [Vybrat]
man mc

Karmelos

  • *****
  • 1 167
    • Zobrazit profil
    • E-mail
Re:Bash - kde je chyba?
« Odpověď #29 kdy: 27. 03. 2023, 15:11:44 »
Já bych se rád zeptal, proč tady trolíte s instalačníma skriptama na aplikace co jsou v repozitářích? Navíc gdebi máte pravděpodobně na mintu v základu a instalace není na nic potřeba. Aplikace se instalují sudo ap-get install <ten balik>

u gdebi to bude
Kód: [Vybrat]
sudo apt-get install gdebi

Cením si ochoty pomoci, pokud jste svůj příspěvek nemyslel jako trolling.

Ještě jednou zopakuji co jsem napsal a pokud budete offtopic, už na vás dál nebudu reagovat.

Citace
Mám dotaz. Když spustím skript a chci změnit cestu, dá se to udělat aby ta cesta, kterou najdu v mc zůstala po ukončení mc, neboli aby se změnila cesta uvnitř toho skriptu?

Vaše dotazy jsou v podstatě trolení. Balíčky se na Debian based distribucích instalují pomocí příkazu apt-get install. Maximálně byste mohl přidat repozitář, pokud není balík dostupný v distribuci. Vaše "skripty" mohou z vašeho systému udělat bordel kdy vám aplikace nebudou fungovat. Nebude vám pak třeba fungovat upgrade. (Ne)vědomě si svinite distribuci a pak tady žadonìte o radu když vám ten nestandardní bastl nechodí.
 Odpověď na vaši otázku je man mc To vám už někdo psal výše. S tím teda, že není jasné jak souvisí spuštění skriptů a mc.
« Poslední změna: 27. 03. 2023, 15:17:18 od Karmelos »
Gréta je nejlepší.