• ベストアンサー

bahsの引数について

大変簡単な質問で恐縮なのですが、シェルスクリプトの引数(複数)を受け取り受けとったパスの中からファイル名だけを取り出すというのはどのようにするのでしょうか? a=$# b=$( basename $# ) echo $b こちらを実行すると引数の個数のみ表示されてしまいます。 そうではなくファイル名を個数分だけ表示さたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

---- while [ "$1" != "" ] do echo $(basename $1) shift done ---- 実行例) $ sh 1.sh /bin/ls /bin/pwd /bin/w ls pwd w

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.2

for a do b=$(basename "$a") echo $b done あるいは、 for a do b="${a##*/}" echo $b done

すると、全ての回答が全文表示されます。

関連するQ&A