スクリプトを実行していますが、スクリプトを実行して変数を設定したいと思います。
スクリプトファイル
#!/bin/bash
# Check if passed parameters
if [[ -n $1 && -n $2 ]]; then
export USER="$1"
export PASS="$2"
fi
echo $USER $PASS
これを実行すると、すべてが期待どおりに機能します。
root@master:/src#./script.sh root root
root root
しかし、引数なしでスクリプトを実行する変数を検索しようとすると、何も得られません。
答え1
私たちが実行しているスクリプトは現在のコマンドライン環境のサブプロセスなので、スクリプトが後で使用できるようにこれらの変数を保存するのを防ぎます。
だから私は実際にこれを実行してこの問題を解決しました。
. ./script.sh root root