내 bash는 코드 file.sh
:
배쉬 문자열 연결 생산하는 이상한 결과
username=$1
pkgpath="/home/${username}_tmp.txt"
echo $username
echo $pkgpath
이제 결과를 생산해야하는 명령 bash file.sh abc
으로 스크립트를 실행 :
abc
/home/abc_tmp.txt
그러나 내가 갖는 출력을 is :
abc
_tmp.txtc
누군가이 동작이 발생하는 이유와 원하는 결과를 얻는 방법을 설명 할 수 있습니까?
내가 pkgpath="/home/${username}"
을 사용하여 나에게주는 것을 언급하고 싶습니다
편집 /home/abc
(원하는)하지만 pkgpath="${username}_tmp.txt"
를 실행하는 나에게 _tmp.txt
(이상한)를 제공합니다.
당신은 여분의 문자'c'가 끝에있을 가능성이 없을 때 끝에 붙는 것을 말하고 있습니까? (확장되지 않은 변수 값은 제외). 명령 줄에서이 스크립트를 실행하고 있습니까? 우연히 Windows 편집기 (Notepad ++)의 스크립트를 편집 했습니까? – Inian
방금 복사/붙여 넣기를 내 컴퓨터에 붙여 넣었습니다. – Will
실제로 RHEL5 데스크탑에 원격으로 로그인했지만 실제로는 데스크톱과 동일한 결과를 실행 해 보았습니다. – iammrmehul