0

入力引数の一部を変数に保存することから始まる非常に基本的なスクリプトがあります。

dirN= basename $1
echo $dirN

$dirN が期待どおりに表示されたので、$dirN で文字列を cat しようとしました

tmp="/some/path/$dirN"

$tmp をエコーすると、/some/path/ のみが表示されます

tmpを上書きしてみた

tmp=$dirN

$tmp をエコーすると、何も表示されません。
$dirN が保存されていないようですが、2行目からエコーされました。私は非常に混乱しています。同僚もそうでした。

ヒントはありますか?

皆さん、ありがとうございました!

4

1 に答える 1

2

私はあなたが望むと信じています

dirN=`basename $1`

代わりに返された値を実際に格納する

dirN= basename $1

「echo $dirN」はあなたのバージョンでは何も表示されていません。エコーに起因する出力を示すのは前の行です。

于 2013-10-14T23:46:11.697 に答える