Linux 홈 영역에서 파일 생성: 이 [복제]를 만질 수 없습니다.

Linux 홈 영역에서 파일 생성: 이 [복제]를 만질 수 없습니다.

내 홈 영역에 아직 존재하지 않는 파일에 텍스트를 쓰고 싶습니다. 생성할 파일 이름을 변수에 저장해 두었습니다. echo일부 텍스트에 이 변수를 사용하고 이를 파일로 리디렉션하고 싶습니다 . 먼저 파일을 만듭니다. 하지만 작동하지 않습니다.

$ foo="~/bar"
$ echo "nonsense" > "$foo"
$ bash: ~/bar: No such file or directory

그러나 다른 디렉토리를 사용하면(해당 디렉토리가 존재하는 한) 잘 작동합니다.

$ foo="moo/bar"
$ echo "nonsense" > "$foo"

나는 최소한 을 사용할 수 있다고 생각했지만 touch그것도 작동하지 않습니다.

$ foo="~/bar"
$ touch "$foo"

변수에 저장된 파일 이름을 사용하여 홈 영역에 파일을 생성하는 데 필요한 비밀은 무엇입니까?

답변1

$HOME 변수를 사용하세요.

$ foo="$HOME/bar"
$ touch "$foo"

관련 정보