質問
私はこれに問題があります。ディレクトリではなく、常に私を返していますが、確かです
#!/usr/local/bin/bash
DIR=$1
if [ -d "$DIR" ]; then
ls -1Apl /home/$DIR | grep -v /\$
else
echo "not a directory"
fi
もう1つ、少しヒントが必要です。特定のディレクトリの特定のユーザーからファイルをリストする必要があります。この場合、ユーザーとディレクトリの両方をパラメーターとして取得します。ただ提案してください。
解決
あなたは中にいますか /home
ディレクトリあなたがこれを実行するとき?そうでない場合は、次のように変更することができます。
if [ -d "/home/$DIR" ]; then
一致する ls
指図。これは、あなたがそのようなものでそれを実行していると仮定しています myscript pax
を調べる /home/pax
ディレクトリ、そうであるようです。
また、特定のユーザーが所有するこれらのファイルのみをリストしたい場合は、使用できます awk
列3を持つそれらのみを目的の値に設定するだけで印刷するには($usrnm
)、 何かのようなもの:
ls -1Apl /home/$DIR | grep -v /\$ | awk -v user=${usrnm} '$3==user{print}{}'
他のヒント
あなたがリストしようとしているのと同じディレクトリの存在をテストしているわけではありません - 多分あなたは意味します -d "/home/$DIR"
?または、あなたの要件から、2つのパラメーターがありますか?
user="$1"
dir="$2"
# and then examine "/home/$user/$dir"
所属していません StackOverflow