だから最近、Linuxに似たコマンドをたくさん共有するcliをダウンロードしました。 [ OK mega-login
]: login
& mega-logout
: logout
cli を使用する必要があるたびに、大容量ファイルの作成に疲れました。エイリアスを使うかと思いましたが、私が知らない別のコマンドを使って他のプログラムを台無しにしたくはありません。エイリアスを生成すると、login
システムlogin
コマンドはどうなりますか?また、cliには多くのコマンドがあります。
それで、スクリプトを活用してみるかと思いましたが、どうすればいいのかわかりませんでした。これが私の考えです。したがってm login
、orを使用すると、m logout
そのコマンドを検索するか、存在mega-login
するかを検索mega-logout
して呼び出します。
それで、フィッシュを学びながら数時間の間、さまざまな機能を考えてこう書いています。
function m --argument value $argv
echo value $value $argv
if type mega-$value
set MEGA
for temp in $argv
set MEGA $MEGA$temp
echo $MEGA
end
echo MEGA \n\n $MEGA
eval $MEGA
end
end
それでも動作しません。 PS:初めて文章を書こうとしましたが、わからないのであきらめました。
function m --argument value $argv
echo value $value $argv
if type mega-$value
set MEGA mega-$argv
echo $argv \n\n\n $MEGA
eval $MEGA
end
end
答え1
最初の(そして2番目の)試みでは悪くありません。正しく合わせるのは難しいかもしれません。
どうですか?
function m
set -l mega_cmd "mega-$argv[1]"
set -l mega_args $argv[2..]
if type -q "$mega_cmd"
echo "Executing $mega_cmd $mega_args"
"$mega_cmd" $mega_args
end
end
もちろんこれは読みやすさのためです(私が好むものです)。ただし、次のように単純化できます。
function m
if type -q "mega-$argv[1]"
echo "Executing mega-$argv[1] $argv[2..]"
"mega-$argv[1]" $argv[2..]
end
end