$ fileの完全なディレクトリを取得します。

$ fileの完全なディレクトリを取得します。

私の最初のシェルスクリプト

#!/bin/bash
echo "Input your file"
read $file
path=(readlink -f $file)
echo "$USER, $path" >> scriptlog.txt

オペランドがないと出てきますね。どうすれば解決できますか?

答え1

コードをこのコードに置き換えて、次のことを試してください。

#!/bin/bash
echo "Input your file"
read file
path=$(readlink -f "$file")
echo "$USER, $path" >> scriptlog.txt

答え2

正しい行を見逃しました$path=(readlink -f $file)

path=$(readlink -f $file)

さらに、スクリプトには多くの欠陥があります。

  • 使用readしない-r
  • 変数の二重引用符を忘れてください。

クイックフィックス:

#!/bin/bash
echo "Input your file"
IFS= read -r file
path=$(readlink -f "$file")
echo "$USER, $path" >> scriptlog.txt

関連情報