私の最初のシェルスクリプト
#!/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