这是我教授想要的
./ b.sh / net / *
12 /net/aquota.user
15751 /net/slackware.iso
这是我的代码
#!/bin/bash
for FILE in $1/*
do
if test -f "${FILE}"
then
inode=$(stat -c %i ${FILE})
echo $inode $FILE
fi
done
我知道怎么用$ 1读取它是/ net,但是我的教授希望用户输入/ net / *,我应该改变什么?
答案 0 :(得分:0)
shell会在脚本运行之前扩展net/*
,因此您将获得多个参数,并且只需要循环它们。
#!/bin/bash
for FILE; do # or for FILE in "$@"; do
if test -f "${FILE}" # not really necessary or useful
then
inode=$(stat -c %i "${FILE}")
echo "$inode" "$FILE" # not really necessary or useful
fi
done
或更简洁
stat -c '%i %n' "$@"