指定されたユーザーからのバッシュスクリプトリストファイル

StackOverflow https://stackoverflow.com/questions/4118180

  •  29-09-2019
  •  | 
  •  

質問

私はこれに問題があります。ディレクトリではなく、常に私を返していますが、確かです

#!/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"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top