14480

[code]

    gnome-terminal -e ping -c 2 192.168.1.1
    
[/code]

というコマンドですが、gnome-terminal -eの中にping -c 2
192.168.1.1という入れ子状になったコマンドでターミナルで実行してみたところ

> 引数を解析できませんでした: -c は不明なオプションです

となってしまい実行できません

[code]

    gnome-terminal -e ping 192.168.1.1
    
[/code]

とすると実行はできるのですがpingの方にもオプションがほしいですどのようにしたら実行できますか


CC BY-SA 3.0
2015-08-16T12:26:39.320
14479
2015-08-16T13:55:30.400
10945
question
iterm
ターミナルで入れ子のコマンドが実行できません

[code]

    gnome-terminal -e 'ping -c 2 192.168.1.1'
    
[/code]


CC BY-SA 3.0
2015-08-16T12:57:46.923
14480
2015-08-16T12:57:46.923
4010
14479
answer


別解として、gnome-terminal には`-x` オプションが用意されています。

> gnome-terminal(1)
>
> -x, --execute  
>  Execute **the remainder of the command line** inside the terminal.

ですので、

[code]

    $ gnome-terminal -x ping -c 2 192.168.1.1
    
[/code]

とすることもできます。


CC BY-SA 3.0
2015-08-16T13:11:25.473
14483
2015-08-16T13:11:25.473
2020-06-17T08:14:45.997
-1
14479
answer


では更に別解を。

[code]

    % cat bin/ping-192
    #!/bin/sh
    exec ping -c 2 192.168.1.1
    % gnome-terminal -e bin/ping-192
    
[/code]

単純に ping だけでは済まなくなって、もっと複雑なことをしたくなった時にでもどうぞ。


CC BY-SA 3.0
2015-08-16T13:55:30.400
14486
2015-08-16T13:55:30.400
5288
14479
answer