bashコマンドラインで、変数myPath =/home/user/dirを設定します。私はエコー$ myPathを置くスクリプトを作成しましたが、うまくいきません。それは何もエコーしません。スクリプト内のmyPath変数にアクセスするにはどうすればよいですか。コマンドにecho $ myPathを書くと、それは動作しますが、スクリプトでは動作しません。bashスクリプトの変数にアクセスする
9
A
答えて
8
は、どのように変数を割り当てるなかった
export myPath=/home/user/dir
18
を試してみてください?それがされている必要があります:
$ export myPath="/home/user/dir"
その後、内部のようなシェルプログラム:あなたが望む結果を得るでしょう
#!/usr/bin/env bash
echo $myPath
。あなたはまた、環境変数のための入院トリッキーな構文の詳細についてはただのMyScript
myPath="whatever" ./myscript
ためMYPATH変数を設定するには、これを行うことができます
+1
引用符で囲まれた別の文字列内でこれを使用する必要がある場合は、echo "Path is $ {myPath}" –
5
は、以下を参照してください http://www.pixelbeat.org/docs/env.html
1
あなたは "を使用して変数の代入を宣言する必要があります
export myPath="/home/user/dir"
これにより、シェルには変数がenviroに含まれるようになりますそれが起動するサブプロセスの数です。 デフォルトでは、(エクスポートなしで)宣言する変数はサブプロセスに渡されません。そのため、最初に期待した結果が得られなかったのです。
関連する問題
- 1. bashスクリプトのインクリメント数(変数)
- 2. bashスクリプトは、変数
- 3. インラインbashスクリプト変数
- 4. CashaアプリのBashスクリプト変数
- 5. Unixのbashスクリプト:変数
- 6. bashスクリプトからERRORLEVELにアクセス
- 7. bash変数をインラインperlスクリプトに渡す
- 8. 同じ行のローカル変数とグローバル変数にアクセスするbash
- 9. bashスクリプトのアクセス許可リスト
- 10. あるBash/PHPスクリプトから別のBash/PHPスクリプトへGET変数を渡す
- 11. coffeeスクリプトでrails変数にアクセスする
- 12. Bashスクリプト:サブbashコマンドで変数を解釈する方法は?
- 13. bashスクリプトを使って変数を含むbash関数をインストールするには?
- 14. bashスクリプト内の変数のエスケープ
- 15. bashスクリプトのコマンドとしての変数
- 16. Bashスクリプトでのパス変数の指定
- 17. PHPUnit - 変数へのBashスクリプトの出力
- 18. bashスクリプトの変数書式チェック
- 19. ローカルbashからリモートbashスクリプトに複数の変数を渡すことなく、
- 20. bashスクリプトで変数の値を変更する方法は?
- 21. Bash関数スクリプト
- 22. BashスクリプトをPowerShellに変換
- 23. bashスクリプトをPythonに変換する
- 24. 保存JQ変数スクリプトはbash
- 25. Ubuntu bashスクリプト再入力入力変数
- 26. は、出力はbashスクリプトで変数
- 27. ローカルbash関数変数のスクリプトの環境変数を設定する
- 28. は自動的にbashスクリプト内の変数を変更
- 29. 環境変数をbashスクリプト内のバイナリプログラムに渡すには?
- 30. ローカル変数をbashスクリプトのsshスコープに渡すには?
あなたのスクリプトがこれらの変数にアクセスするようにするには、bashプロファイルでexport varも使用します。たとえばJAVA_HOME – LukeSolar
これは誤解を招くことです。 'export'は現在のシェルには目に見える効果がありません。変数の値を現在のシェルから開始したサブプロセスに表示させる必要がある場合に便利です。 – tripleee
@tripleee確かに、何かが欠落していない限り、それはちょうど質問に何を求めているのか、サブプロセス(シェルスクリプトを実行している)から変数にアクセスする方法です。 –