私のbashコードfile.sh
:
バッシュ文字列の連結生産奇妙な結果
username=$1
pkgpath="/home/${username}_tmp.txt"
echo $username
echo $pkgpath
今すぐ結果生成しなければならないコマンドbash file.sh abc
でスクリプトを実行する:
abc
/home/abc_tmp.txt
しかし、私は取得しています出力を:
abc
_tmp.txtc
誰かがこの現象が発生し、目的の結果を得る方法がなぜ説明できますか?
私はpkgpath="/home/${username}"
を使用して、私に与えていることに言及したいと思います
EDIT /home/abc
(希望)が、pkgpath="${username}_tmp.txt"
を実行すると、私に_tmp.txt
(奇妙な)を与えます。
最後に余分な文字が追加されると言っていますか? (拡張されていない変数値は別として)。このスクリプトをコマンドラインで実行していますか?あなたは偶然Windowsエディタ(Notepad ++)のスクリプトを編集したでしょうか? – Inian
私はちょうど私のマシンにそれをコピー/貼り付け、それは正常に働いた – Will
実際に私は私のRHEL5デスクトップにリモートログインを実行していたが、私はデスクトップと同じ結果で直接実行しようとしたとしても問題ではない – iammrmehul