GNU/Linux >> Znalost Linux >  >> Ubuntu

Při vytváření prvního skriptu Bash nelze příkaz Cd „přilepit“?

Tato otázka zde již obsahuje odpovědi :Jak mohu vytvořit alias pro cd a ls?

(6 odpovědí)
Uzavřeno před 6 lety.

Pro svůj první bash skript chci vytvořit něco, co mě opravdu štve:když přepínám složky, chci, aby se obsah této složky automaticky zobrazoval. Pokusil jsem se přidat tento následující kód do ~/.bashrc:

alias go='cd; ls'

Dost jednoduché, myslel jsem! Není tak. Při psaní go /etc skutečně uvádí obsah /etc, můj pracovní adresář se ve skutečnosti nezměnil, stále jsem v tom, ve kterém jsem byl předtím. Jak to napravím?

Přijatá odpověď:

Ve vašem příkladu go /etc udělá cd; ls /etc . To znamená, že nejprve cd změní aktuální adresář na váš domovský adresář. Poté ls /etc zobrazí obsah /etc .

Definováním funkce můžete dosáhnout toho, co chcete, například takto:

function go() {
    cd "$1" && ls
}

Nebo jej napište do příkazového řádku na jeden řádek:

function go() { cd "$1" && ls; }

Poté go /etc udělá, co chcete.

$1 odkazuje na první parametr předaný příkazu v tomto příkladu /etc . Na následující parametry můžete odkazovat pomocí $2 , $3 a tak dále.


Ubuntu
  1. Jak se aktualizuje /etc/motd?

  2. Zdá se, že v historii příkazů chybí prvních 75 řádků?

  3. Co dělá řádek '!/bin/sh -e'?

  1. Rozdíl mezi ~/.profile, ~/.bashrc, ~/.bash_profile, ~/.gnomerc, /etc/bash_bashrc, /etc/screenrc …?

  2. Jaký je rozdíl mezi #!/usr/bin/env bash a #!/usr/bin/bash?

  3. Spusťte příkaz bash na jenkins pipeline

  1. Automaticky zadávat vstup do příkazového řádku?

  2. Ubuntu 14.04 „nedošlo k přehrávání Uri na vstupním souboru:///*“?

  3. Příkaz grpck – Odstraňte poškozené nebo duplicitní položky v souborech /etc/group a /etc/gshadow.