2016-04-27 3 views

Antwort

2

Sie:

Var='/etc/sysconfig/..' 
bash script1.sh "$Var" 

Dann in script1.sh:

Var=$1 
cat "$Var" 

Die Anführungszeichen um "$Var" erforderlich sind Pfade mit Leerzeichen zu unterstützen.

2

Ihre variable Zuordnung falsch ist, sollte es sein:

Var='/etc/sysconfig/..' 

Keine Leerzeichen um =.

Wenn Sie in einer Umgebungsvariable für ein Skript gesendet werden soll nur dann können Sie verwenden:

Var='/etc/sysconfig/..' ./my_script.sh 

Und innen my_script.sh:

printf "%s\n" "$Var" 
# Will print /etc/sysconfig/.. 

Wenn Sie Argumente an my_script.sh senden wollen das tun, was @JohnZwinck suggested. Was ich vorgeschlagen habe, ist nur die Umgebungsvariable zu ändern und sollte nicht dazu missbraucht werden, reguläre Variablen an einen Befehl zu senden/zu empfangen.

0

denke ich keine Notwendigkeit, mehr Sache

Skript 1

#!/bin/bash 
a="/home/example" ### you can do with export command also export a="/home/example" 

sctipt2 ## wirksam machen

. script1; 
cd $a 
Verwandte Themen