![Linux 홈 영역에서 파일 생성: 이 [복제]를 만질 수 없습니다.](https://linux55.com/image/198762/Linux%20%ED%99%88%20%EC%98%81%EC%97%AD%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%20%EC%83%9D%EC%84%B1%3A%20%EC%9D%B4%20%5B%EB%B3%B5%EC%A0%9C%5D%EB%A5%BC%20%EB%A7%8C%EC%A7%88%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
내 홈 영역에 아직 존재하지 않는 파일에 텍스트를 쓰고 싶습니다. 생성할 파일 이름을 변수에 저장해 두었습니다. 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"