my-fish-script a b c d
2 番目の引数以降のすべての引数を取得したいとしますb c d
。
bash では、 を使用shift
して最初の引数をダンプし、残りの引数にアクセスできます"$@"
。
魚の殻を使ってどのように問題を解決しますか?
my-fish-script a b c d
2 番目の引数以降のすべての引数を取得したいとしますb c d
。
bash では、 を使用shift
して最初の引数をダンプし、残りの引数にアクセスできます"$@"
。
魚の殻を使ってどのように問題を解決しますか?
fish では、引数は$argv
リストに含まれています。リストのスライスを使用して、要素の範囲にアクセスします。たとえば$argv[2..-1]
、2 番目から最後までのすべての引数を返します。
例えば
function loop --description "loop <count> <command>"
for i in (seq 1 $argv[1])
eval $argv[2..-1]
end
end
使用法
$ loop 3 echo hello world
hello world
hello world
hello world
私の意見では、より読みやすい read を使用することもできます。
function loop
echo $argv | read -l count command
for i in (seq 1 $count)
eval $command
end
end
これは、最初の引数以外を使用する場合に特に効果的です。
echo $argv | read -l first second rest