ユーザーにパスの入力を求めるシェル スクリプトがあります。
read -e -p "Enter the path to the file: " FILEPATH
eval FILEPATH=$FILEPATH
次のように入力すると:
Enter the path to the file: ~/Desktop/Hello\ My\ Name\ is\ Oliver/
次に、次の出力が得られます (デバッグ モードの bash)。
Enter the path to the file: ~/Desktop/Hello\ My\ Name\ is\ Oliver/
+ eval 'FILEPATH=~/Desktop/Hello My Name is Oliver/'
++ FILEPATH=/Users/Oliver/Desktop/Hello
++ My Name is Oliver/
パスに特殊文字がある場合にも同様の問題があります。
この問題を解決するにはどうすればよいですか?
編集: 適切なパスのeval
ようなエイリアスを修正します。~