web-dev-qa-db-ja.com

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

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

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

オペランドがないという。どうすれば修正できますか?

1
H.Dinh

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

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

path=(readlink -f $file)行の$を見逃しました。正しいものです。

path=$(readlink -f $file)

また、スクリプトには多くの欠陥があることに注意してください。

  • -rなしでreadを使用する
  • 二重引用符の変数を忘れる

クイックフィックス:

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