GNU/Linux >> Linux Esercitazione >  >> Linux

Directory corrente dello script Shell?

La maggior parte delle risposte ti fornisce il percorso corrente e sono sensibili al contesto. Per eseguire il tuo script da qualsiasi directory, utilizza lo snippet seguente.

DIR="$( cd "$( dirname "$0" )" && pwd )"

Cambiando directory in una subshell, possiamo quindi chiamare pwd e ottenere il percorso corretto dello script indipendentemente dal contesto.

Puoi quindi utilizzare $DIR come "$DIR/path/to/file"


La directory corrente (iniziale) dello script di shell è la directory da cui hai chiamato lo script.


Come già accennato, la posizione sarà da dove è stato chiamato lo script. Se desideri che lo script faccia riferimento alla sua posizione di installazione, è abbastanza semplice. Di seguito è riportato uno snippet che stamperà il PWD e la directory installata:

#!/bin/bash
echo "Script executed from: ${PWD}"

BASEDIR=$(dirname $0)
echo "Script location: ${BASEDIR}"

Linux
  1. Timeout in uno script di shell?

  2. Shell Script per stampare la piramide di stelle

  3. Cambia la directory di lavoro nella shell con uno script python

  4. Esegui uno script di shell nel nuovo terminale dal terminale corrente

  5. Directory di modifica dello script Shell con variabile

Determinare la shell nello script durante il runtime?

Directory corrente abbreviata nel prompt della shell?

Script Shell:ordinare i file in directory e sottodirectory?

Da dove viene eseguito uno script di shell?

Il significato di $? In uno script di shell?

Come eseguire un comando in uno script della shell?