python
(argv.py)
#!/usr/bin/env python import sys print "length: %s" % len(sys.argv) for i in range(0,len(sys.argv)): print "argv[%d]: %s" % (i,sys.argv[i])
実行結果
$ ./argv.py 1 2 3 "4 5 6" length: 5 argv[0]: ./argv.py argv[1]: 1 argv[2]: 2 argv[3]: 3 argv[4]: 4 5 6
node
(argv.js)
#!/usr/bin/env node process.argv.forEach(function(val, index, array){ console.log(index + ":" + val); });
実行結果
$ ./argv.js 1 2 3 "4 5 6" 0:node 1:/home/xxx/test/argv.js 2:1 3:2 4:3 5:4 5 6
参照したURL:
http://takuya-1st.hatenablog.jp/entry/2013/05/25/192641
https://nodejs.org/docs/latest/api/process.html#process_process_argv
perl
argv.pl
#!/usr/bin/env perl $i=0; print "\$#ARGV : $#ARGV\n"; while(@ARGV){ $arg = shift; print "ARGV[$i]: $arg\n"; $i++; }
実行結果
$ ./argv.pl $#ARGV : -1 $ ./argv.pl 1 $#ARGV : 0 ARGV[0]: 1 $ ./argv.pl 1 2 3 "4 5 6" $#ARGV : 3 ARGV[0]: 1 ARGV[1]: 2 ARGV[2]: 3 ARGV[3]: 4 5 6
ruby
argv.rb
#!/usr/bin/env ruby printf("ARGV.size: %d\n", ARGV.size) ARGV.each_with_index do |arg,i| puts "ARGV[#{i}]: #{arg}" #printf("ARGV[%d]: %s\n",i,arg) end
実行結果
$ ./argv.rb ARGV.size: 0 $ ./argv.rb 1 2 3 "4 5 6" ARGV.size: 4 ARGV[0]: 1 ARGV[1]: 2 ARGV[2]: 3 ARGV[3]: 4 5 6
gauche
argv.scm
#!/usr/bin/env gosh (define (main args) (format (standard-output-port) "size: ~d\n" (length args)) (format (standard-output-port) "args: ~s\n" args))
実行結果
$ ./argv.scm size: 1 args: ("./argv.scm") $ ./argv.scm 1 2 3 "4 5 6" size: 5 args: ("./argv.scm" "1" "2" "3" "4 5 6")
c
argv.c
#include <stdio.h> main(int argc, char *argv[]) { int i; printf("argc: %d\n", argc); for(i=0;i<argc;i++){ printf("argv[%d]: %s\n", i, argv[i]); } }
実行結果
$ gcc argv.c $ ./a.out 1 2 3 "4 5 6" argc: 5 argv[0]: ./a.out argv[1]: 1 argv[2]: 2 argv[3]: 3 argv[4]: 4 5 6
bourne shell
argv.sh
#!/bin/sh for arg in $@ do echo $arg done
実行結果
$ ./argv.sh 1 2 3 "4 5 6" 1 2 3 4 5 6
argv_dq.sh
#!/bin/sh for arg in "$@" do echo $arg done
実行結果
$ ./argv_dq.sh 1 2 3 "4 5 6" 1 2 3 4 5 6
参照したURL:
https://qiita.com/Ping/items/57fd75465dfada76e633 ※内容はbash
https://www.ibm.com/support/knowledgecenter/ja/ssw_aix_72/osmanagement/bourne_shell_predefined_spec_vars.html