benry-unixcmd 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 73411bbc7b8bd31e455acdc67c7ef3d12df08ec3aa0bab56d631fcf12395b34b
4
- data.tar.gz: 9fadc9355cf0006c83f48835c55197a4a9498a49b7e03f752af86eb951f03691
3
+ metadata.gz: 2ff5113d6cd99d3a50101096451203ade6c1f482ee0445fb92c54b7be806a92b
4
+ data.tar.gz: 130e7f320428382759597309256c39e9a50d0f8ab8e81d1854949f722f29b99d
5
5
  SHA512:
6
- metadata.gz: 14462cad893ee39cc9e9ae27977b0a71c76fd2b142c2878c14f52f93f9471186a66d2ed895d8e62b53ea3565b5312cd49782d4b1e9c3a8fc0eafcc38c6c53197
7
- data.tar.gz: 309f3813307636ff6adbe9b72f39fd01a4edf1bcf304b97ead6abd74787742795d7686fc40ededd3b97aa60816bea05dca3670a7e80a9999f6ae92b6acf126bb
6
+ metadata.gz: ffd7cc9973ff041b2478a5dbdb7c79ce93daf7214389bb8f5bf6caa561f181614cc68b085b0d2377bb11cc855108989bbc3e6dae7dfc34ff3c593586d45176a7
7
+ data.tar.gz: 4d9e61b09b80a5299327fc491605c92ea9f655b9737fac4d137b48590e61cf3e73c4e467cacbd5fde4cc1c9a50080fcc3349856e6f7ca4a1adfd7e19600bbd5e
data/MIT-LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 kuwata-lab.com
3
+ Copyright (c) 2021 kwatch@gmail.com
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,9 +1,16 @@
1
- benry-unixcmd Gem README
2
- ========================
1
+ # Benry-UnixCmd
3
2
 
4
- ($Release: 0.9.0 $)
3
+ ($Release: 0.9.1 $)
5
4
 
6
- benry-unixcmd gem implements popular UNIX commands, like FileUtils.
5
+
6
+ ## What's this?
7
+
8
+ Benry-UnixCmd implements popular UNIX commands, like FileUtils,
9
+ but much better than it.
10
+
11
+ * Document: <https://kwatch.github.io/benry-ruby/benry-unixcmd.html>
12
+ * GitHub: <https://github.com/kwatch/benry-ruby/tree/main/benry-unixcmd>
13
+ * Changes: <https://github.com/kwatch/benry-ruby/blob/main/benry-unixcmd/CHANGES.md>
7
14
 
8
15
  Features compared to FileUtils:
9
16
 
@@ -19,53 +26,54 @@ Features compared to FileUtils:
19
26
  * provides `store` command which copies files recursively into target directory, keeping file path.
20
27
  * provides `atomic_symlink!` command which switches symlink atomically.
21
28
 
22
- (benry-unixcmd gem requires Ruby >= 2.3)
29
+ (Benry-UnixCmd requires Ruby >= 2.3)
23
30
 
24
31
 
25
32
 
26
- Table of Contents
27
- =================
33
+ ### Table of Contents
28
34
 
29
35
  <!-- TOC -->
30
36
 
31
- * <a href="#install">Install</a>
32
- * <a href="#command-reference">Command Reference</a>
33
- * <a href="#echo"><code>echo</code></a>
34
- * <a href="#echoback"><code>echoback</code></a>
35
- * <a href="#cp"><code>cp</code></a>
36
- * <a href="#mv"><code>mv</code></a>
37
- * <a href="#rm"><code>rm</code></a>
38
- * <a href="#mkdir"><code>mkdir</code></a>
39
- * <a href="#rmdir"><code>rmdir</code></a>
40
- * <a href="#ln"><code>ln</code></a>
41
- * <a href="#atomic_symlink"><code>atomic_symlink!</code></a>
42
- * <a href="#touch"><code>touch</code></a>
43
- * <a href="#chmod"><code>chmod</code></a>
44
- * <a href="#chown"><code>chown</code></a>
45
- * <a href="#pwd"><code>pwd</code></a>
46
- * <a href="#store"><code>store</code></a>
47
- * <a href="#sys"><code>sys</code></a>
48
- * <a href="#ruby"><code>ruby</code></a>
49
- * <a href="#capture2"><code>capture2</code></a>
50
- * <a href="#capture2e"><code>capture2e</code></a>
51
- * <a href="#capture3"><code>capture3</code></a>
52
- * <a href="#zip"><code>zip</code></a>
53
- * <a href="#unzip"><code>unzip</code></a>
54
- * <a href="#time"><code>time</code></a>
55
- * <a href="#faq">FAQ</a>
56
- * <a href="#why-mv-or-cp-requires-to-option">Why <code>mv</code> or <code>cp</code> requires <code>to:</code> option?</a>
57
- * <a href="#how-to-use-in-rakefile">How to use in Rakefile?</a>
58
- * <a href="#how-to-change-prompt-string">How to change prompt string?</a>
59
- * <a href="#how-to-make-prompt-colored">How to make prompt colored?</a>
60
- * <a href="#how-to-disable-command-echoback">How to disable command echoback?</a>
61
- * <a href="#license-and-copyright">License and Copyright</a>
37
+ * [What's this?](#whats-this)
38
+ * [Install](#install)
39
+ * [Command Reference](#command-reference)
40
+ * [`echo`](#echo)
41
+ * [`echoback`](#echoback)
42
+ * [`cp`](#cp)
43
+ * [`mv`](#mv)
44
+ * [`rm`](#rm)
45
+ * [`mkdir`](#mkdir)
46
+ * [`rmdir`](#rmdir)
47
+ * [`ln`](#ln)
48
+ * [`atomic_symlink!`](#atomic_symlink)
49
+ * [`touch`](#touch)
50
+ * [`chmod`](#chmod)
51
+ * [`chown`](#chown)
52
+ * [`pwd`](#pwd)
53
+ * [`cd`](#cd)
54
+ * [`pushd`](#pushd)
55
+ * [`store`](#store)
56
+ * [`sys`](#sys)
57
+ * [`ruby`](#ruby)
58
+ * [`capture2`](#capture2)
59
+ * [`capture2e`](#capture2e)
60
+ * [`capture3`](#capture3)
61
+ * [`zip`](#zip)
62
+ * [`unzip`](#unzip)
63
+ * [`time`](#time)
64
+ * [FAQ](#faq)
65
+ * [Why `mv` or `cp` requires `to:` option?](#why-mv-or-cp-requires-to-option)
66
+ * [How to use in Rakefile?](#how-to-use-in-rakefile)
67
+ * [How to change prompt string?](#how-to-change-prompt-string)
68
+ * [How to make prompt colored?](#how-to-make-prompt-colored)
69
+ * [How to disable command echoback?](#how-to-disable-command-echoback)
70
+ * [License and Copyright](#license-and-copyright)
62
71
 
63
72
  <!-- /TOC -->
64
73
 
65
74
 
66
75
 
67
- Install
68
- =======
76
+ ## Install
69
77
 
70
78
  ```
71
79
  $ gem install benry-unixcmd
@@ -77,26 +85,25 @@ File: ex1.rb
77
85
  require 'benry/unixcmd' # !!!!!
78
86
  include Benry::UnixCommand # !!!!!
79
87
 
80
- output = capture2 "ls -al" # run command and return output
81
- #print output
88
+ output = capture2 "uname -srmp" # run command and return output
89
+ p output
82
90
  ```
83
91
 
84
92
  Result:
85
93
 
86
94
  ```terminal
87
- [localhost] ruby ex1.rb
88
- $ ls -al
95
+ [localhost]$ ruby ex1.rb
96
+ $ uname -srmp
97
+ "Darwin 22.5.0 arm64 arm\n"
89
98
  ```
90
99
 
91
100
 
92
101
 
93
- Command Reference
94
- =================
102
+ ## Command Reference
95
103
 
96
104
 
97
105
 
98
- `echo`
99
- ------
106
+ ### `echo`
100
107
 
101
108
  File: ex-echo1.rb
102
109
 
@@ -127,8 +134,7 @@ Options:
127
134
 
128
135
 
129
136
 
130
- `echoback`
131
- ----------
137
+ ### `echoback`
132
138
 
133
139
  * `echoback "command"` prints `$ command` string into stdout.
134
140
  * `echoback "command"` indents command if in block of `cd` or `pushd`.
@@ -163,8 +169,7 @@ $ cd -
163
169
 
164
170
 
165
171
 
166
- `cp`
167
- ----
172
+ ### `cp`
168
173
 
169
174
  * `cp "x", "y"` copies `x` to new file `y'. Fails when `y` already exists.
170
175
  * `cp! "x", "y"` is similar to above, but overwrites `y` even if it exists.
@@ -172,6 +177,7 @@ $ cd -
172
177
  * `cp "x", "y", "dir"` will be error! (use `to: "dir"` instead.)
173
178
  * Glob pattern such as `*`, `**`, `?`, and `{}` are available.
174
179
  * (See [FAQ](#faq) about `to:` keyword option.)
180
+ * If you want to copy files with keeping directory structure, use `store` instead of `cp`.
175
181
 
176
182
  <!--
177
183
  File: ex-cp1.rb
@@ -202,8 +208,7 @@ Options:
202
208
 
203
209
 
204
210
 
205
- `mv`
206
- ----
211
+ ### `mv`
207
212
 
208
213
  * `mv "x", "y"` renames `x` to `y`. Fails when `y` already exists.
209
214
  * `mv! "x", "y"` is similar to above, but overwrites `y` even if it exists.
@@ -241,8 +246,7 @@ Options:
241
246
 
242
247
 
243
248
 
244
- `rm`
245
- ----
249
+ ### `rm`
246
250
 
247
251
  * `rm "x", "y"` removes file `x` and `y`.
248
252
  * `rm :r, "dir1"` removes directory recursively.
@@ -275,8 +279,7 @@ Options:
275
279
 
276
280
 
277
281
 
278
- `mkdir`
279
- -------
282
+ ### `mkdir`
280
283
 
281
284
  * `mkdir "x", "y"` creates `x` and `y` directories.
282
285
  * `mkdir :p, "x/y/z"` creates `x/y/z` directory.
@@ -309,8 +312,7 @@ Options:
309
312
 
310
313
 
311
314
 
312
- `rmdir`
313
- -------
315
+ ### `rmdir`
314
316
 
315
317
  * `rmdir "x", "y"` removed empty directores.
316
318
  * Raises error when directory not empty.
@@ -333,8 +335,7 @@ Options:
333
335
 
334
336
 
335
337
 
336
- `ln`
337
- ----
338
+ ### `ln`
338
339
 
339
340
  * `ln "x", "y"` creates hard link.
340
341
  * `ln :s, "x", "y"` creates symbolic link. Error if `y` already exists.
@@ -361,14 +362,13 @@ ln! :s, "foo1.txt", "dir/foo1.txt" # overwrites dir/foo1.txt if exists.
361
362
  ## create symbolic link into directory.
362
363
  ln :s, "foo1.txt", to: "dir"
363
364
 
364
- ## error! use `to: "dir"` instead.
365
+ ## error! use ``to: "dir"`` instead.
365
366
  ln :s, "foo1.txt", "dir"
366
367
  ```
367
368
 
368
369
 
369
370
 
370
- `atomic_symlink!`
371
- -----------------
371
+ ### `atomic_symlink!`
372
372
 
373
373
  * `atomic_symlink! "x", "y"` creates symbolic link atomically.
374
374
 
@@ -395,8 +395,7 @@ Options:
395
395
 
396
396
 
397
397
 
398
- `touch`
399
- -------
398
+ ### `touch`
400
399
 
401
400
  * `touch "x"` updates timestamp of file.
402
401
  * `touch :r, "reffile", "x"` uses timestamp of `reffile` instead current timestamp.
@@ -424,8 +423,7 @@ Options:
424
423
 
425
424
 
426
425
 
427
- `chmod`
428
- -------
426
+ ### `chmod`
429
427
 
430
428
  * `chmod 0644, "x"` changes file permission.
431
429
  * `chmod :R, "a+r", "dir"` changes permissions recursively.
@@ -448,14 +446,13 @@ chmod :R, 0644, "dir"
448
446
  chmod :R, "a+r", "dir"
449
447
  ```
450
448
 
451
- Optionns:
449
+ Options:
452
450
 
453
451
  * `chmod :R` -- changes permissions recursively.
454
452
 
455
453
 
456
454
 
457
- `chown`
458
- -------
455
+ ### `chown`
459
456
 
460
457
  * `chown "user:group", "x", "y"` changes owner and group of files.
461
458
  * `chown "user", "x", "y"` changes owner of files.
@@ -476,14 +473,13 @@ chown "user1", "file*.txt" # change owner
476
473
  chown ":group1", "file*.txt" # change group
477
474
  ```
478
475
 
479
- Optionns:
476
+ Options:
480
477
 
481
478
  * `chown :R` -- changes owner and/or group recursively.
482
479
 
483
480
 
484
481
 
485
- `pwd`
486
- -----
482
+ ### `pwd`
487
483
 
488
484
  * `pwd()` prints current working directory path.
489
485
 
@@ -496,7 +492,106 @@ require 'benry/unixcmd'
496
492
  include Benry::UnixCommand
497
493
 
498
494
  ## prints current working directory
499
- pwd()
495
+ pwd() #=> /home/yourname (for example)
496
+ ```
497
+
498
+ Options:
499
+
500
+ * (no options)
501
+
502
+
503
+
504
+ ### `cd`
505
+
506
+ * `cd` changes current working directory.
507
+ * If block given, `cd` invokes block just after changing current directory,
508
+ and back to previous directory automatically.
509
+ * Within block argument, echoback indentation is increased.
510
+ * `chdir` is an alias to `cd`.
511
+
512
+ File: ex-cd1.rb
513
+
514
+ ```ruby
515
+ require 'benry/unixcmd'
516
+ include Benry::UnixCommand
517
+
518
+ ## change directory, invoke block, and back to previous directory.
519
+ pwd() #=> /home/yourname (for example)
520
+ cd "/tmp" do
521
+ pwd() #=> /tmp
522
+ end
523
+ pwd() #=> /home/yourname (for example)
524
+
525
+ ## just change directory
526
+ cd "/tmp"
527
+ pwd() #=> /tmp
528
+ ```
529
+
530
+ Result:
531
+
532
+ ```terminal
533
+ [localhost]$ ruby ex-cd1.rb
534
+ $ pwd
535
+ /home/yourname
536
+ $ cd /tmp
537
+ $ pwd
538
+ /tmp
539
+ $ cd -
540
+ $ pwd
541
+ /home/yourname
542
+ $ cd /tmp
543
+ $ pwd
544
+ /tmp
545
+ ```
546
+
547
+ Options:
548
+
549
+ * (no options)
550
+
551
+
552
+
553
+ ### `pushd`
554
+
555
+ * `pushd` changes current directory, invokes block, and back to previous directory.
556
+ * `pushd` requires block argument. `cd` also takes block argument but it is an optional.
557
+ * Within block argument, echoback indentation is increased.
558
+
559
+ File: ex-pushd1.rb
560
+
561
+ ```ruby
562
+ require 'benry/unixcmd'
563
+ include Benry::UnixCommand
564
+
565
+ ## change directory, invoke block, and back to previous directory.
566
+ pwd() #=> /home/yourname (for example)
567
+ pushd "/var" do
568
+ pwd() #=> /var
569
+ pushd "tmp" do
570
+ pwd() #=> /var/tmp
571
+ end
572
+ pwd() #=> /var
573
+ end
574
+ pwd() #=> /home/yourname (for example)
575
+ ```
576
+
577
+ Result:
578
+
579
+ ```terminal
580
+ [localhost]$ ruby ex-pushd1.rb
581
+ $ pwd
582
+ /home/yourname
583
+ $ pushd /var
584
+ $ pwd
585
+ /var
586
+ $ pushd tmp
587
+ $ pwd
588
+ /var/tmp
589
+ $ popd # back to /var
590
+ $ pwd
591
+ /var
592
+ $ popd # back to /home/yourname
593
+ $ pwd
594
+ /home/yourname
500
595
  ```
501
596
 
502
597
  Options:
@@ -505,8 +600,7 @@ Options:
505
600
 
506
601
 
507
602
 
508
- `store`
509
- -------
603
+ ### `store`
510
604
 
511
605
  * `store "x", "y", to: "dir", ` copies files under `x` and `y` to `dir` keeping file path.
512
606
  For example, `x/foo/bar.rb` will be copied as `dir/x/foo/bar.rb`.
@@ -522,6 +616,9 @@ include Benry::UnixCommand
522
616
 
523
617
  ## copies files into builddir, keeping file path
524
618
  store "lib/**/*.rb", "test/**/*.rb", to: "builddir"
619
+
620
+ ## `store()` is similar to unix `tar` command.
621
+ ## $ tar cf - lib/**/*.rb test/**/*.rb | (cd builddir; tar xf -)
525
622
  ```
526
623
 
527
624
  Options:
@@ -532,8 +629,7 @@ Options:
532
629
 
533
630
 
534
631
 
535
- `sys`
536
- -----
632
+ ### `sys`
537
633
 
538
634
  * `sys "ls -al"` runs `ls -al` command.
539
635
  * `sys` raises error when command failed.
@@ -550,7 +646,7 @@ File: ex-sys1.rb
550
646
  require 'benry/unixcmd'
551
647
  include Benry::UnixCommand
552
648
 
553
- ## run `ls` command
649
+ ## run ``ls`` command
554
650
  sys "ls foo.txt" # may raise error when command failed
555
651
  sys! "ls foo.txt" # ignore error even when command filed
556
652
 
@@ -568,8 +664,7 @@ Options:
568
664
 
569
665
 
570
666
 
571
- `ruby`
572
- ------
667
+ ### `ruby`
573
668
 
574
669
  * `ruby "...."` is almost same as `sys "ruby ...."`.
575
670
  * `RbConfig.ruby` is used as ruby command path.
@@ -595,13 +690,12 @@ Options:
595
690
 
596
691
 
597
692
 
598
- `capture2`
599
- ----------
693
+ ### `capture2`
600
694
 
601
695
  * `capture2 "ls -al"` runs `ls -al` and returns output of the command.
602
696
  * `capture2 "cat -n", stdin_data: "A\nB\n"` run `cat -n` command and uses `"A\nB\n"` as stdin data.
603
- * `caputre "ls foo"` will raise error when command failed.
604
- * `caputre! "ls foo"` ignores error even when command failed, and returns command output and process status object.
697
+ * `caputre2 "ls foo"` will raise error when command failed.
698
+ * `caputre2! "ls foo"` ignores error even when command failed, and returns command output and process status object.
605
699
  * `capture2()` invokes `Popen3.capture2()` internally. All keyword arguments are available.
606
700
 
607
701
  <!--
@@ -613,9 +707,9 @@ require 'benry/unixcmd'
613
707
  include Benry::UnixCommand
614
708
 
615
709
  ## run command and get output of the command.
616
- output = capture2 "ls -l foo.txt" # error if command failed
617
- output, process_status = capture2 "ls -l foot.xt" # ignore error even command failed
618
- puts process_status.exitstatus
710
+ output = capture2 "ls -l foo.txt" # error if command failed
711
+ output, process_status = capture2! "ls -l foot.xt" # ignore error even command failed
712
+ puts process_status.exitstatus #=> 1
619
713
 
620
714
  ## run command with stdin data.
621
715
  input = "AA\nBB\nCC\n"
@@ -628,8 +722,7 @@ Options:
628
722
 
629
723
 
630
724
 
631
- `capture2e`
632
- -----------
725
+ ### `capture2e`
633
726
 
634
727
  * almost same as `capture2`, but output contains both stdout and stderr.
635
728
 
@@ -653,10 +746,9 @@ Options:
653
746
 
654
747
 
655
748
 
656
- `capture3`
657
- ----------
749
+ ### `capture3`
658
750
 
659
- * almost same as `capture3`, but returns both stdout output and stderr output.
751
+ * almost same as `capture2`, but returns both stdout output and stderr output.
660
752
 
661
753
  <!--
662
754
  File: ex-capture3.rb
@@ -682,8 +774,7 @@ Options:
682
774
 
683
775
 
684
776
 
685
- `zip`
686
- -----
777
+ ### `zip`
687
778
 
688
779
  * `zip "foo.zip", "file1", "file2"` creates new zip file `foo.zip`.
689
780
  * `zip :r, "foo.zip", "dir1"` adds files under `dir1` into zip file recursively.
@@ -692,7 +783,8 @@ Options:
692
783
  * `zip :'0'` doesn't compress files.
693
784
  * `zip :'1'` compress files in best speed.
694
785
  * `zip :'9'` compress files in best compression level.
695
- * `zip` and `zip!` requires `rubyzip` gem. You must install it by yourself.
786
+ * `zip` and `zip!` loads `rubyzip` gem automatically. You must install it by yourself.
787
+ * (`rubyzip` gem is necessary ONLY when `zip` or `zip!` command is invoked.)
696
788
  * `zip` and `zip!` doesn't support absolute path.
697
789
 
698
790
  <!--
@@ -722,8 +814,7 @@ Options:
722
814
 
723
815
 
724
816
 
725
- `unzip`
726
- -------
817
+ ### `unzip`
727
818
 
728
819
  * `unzip "foo.zip"` extracts files in zip file into current directory.
729
820
  * `unzip :d, "dir1", "foo.zip"` extracts files under `dir1`.
@@ -731,7 +822,8 @@ Options:
731
822
  * `unzip "foo.zip"` will be error if extracting file already exists.
732
823
  * `unzip! "foo.zip"` will overwrite existing files.
733
824
  * `unzip "foo.txt", "file1", "file2"` extracts only `file1` and `file2`.
734
- * `zunip` and `unzip!` requires `rubyzip` gem. You must install it by yourself.
825
+ * `zunip` and `unzip!` loads `rubyzip` gem automatically. You must install it by yourself.
826
+ * (`rubyzip` gem is necessary ONLY when `unzip` or `unzip!` command is invoked.)
735
827
  * `unzip` and `unzip!` doesn't support absolute path.
736
828
 
737
829
  <!--
@@ -758,8 +850,7 @@ Options:
758
850
 
759
851
 
760
852
 
761
- `time`
762
- ------
853
+ ### `time`
763
854
 
764
855
  * `time do ... end` invokes block and prints elapsed time into stderr.
765
856
 
@@ -770,7 +861,7 @@ require 'benry/unixcmd'
770
861
  include Benry::UnixCommand
771
862
 
772
863
  time do
773
- sh "zip -qr9 dir1.zip dir1"
864
+ sys "zip -qr9 dir1.zip dir1"
774
865
  end
775
866
  ```
776
867
 
@@ -785,13 +876,11 @@ $ zip -qr9 dir1.zip dir1
785
876
 
786
877
 
787
878
 
788
- FAQ
789
- ====
879
+ ## FAQ
790
880
 
791
881
 
792
882
 
793
- Why `mv` or `cp` requires `to:` option?
794
- ---------------------------------------
883
+ ### Why `mv` or `cp` requires `to:` option?
795
884
 
796
885
  Because UNIX command has bad interface which causes unexpected result.
797
886
 
@@ -819,8 +908,7 @@ In the same reason, `cp()` and `ln()` of Benry::UnixCommand also requires `to:`
819
908
 
820
909
 
821
910
 
822
- How to use in Rakefile?
823
- -----------------------
911
+ ### How to use in Rakefile?
824
912
 
825
913
  File: Rakefile
826
914
 
@@ -830,6 +918,7 @@ include Benry::UnixCommand # !!!!!
830
918
  Rake::DSL.prepend Benry::UnixCommand # !!!!!
831
919
 
832
920
  task :example do
921
+ ## invoke commands defined in Benry::UnixCommand, not in Rake nor fileutils.rb
833
922
  mkdir :p, "foo/bar/baz"
834
923
  here = Dir.pwd()
835
924
  pushd "foo/bar/baz" do
@@ -852,8 +941,7 @@ $ popd # back to /home/yourname
852
941
 
853
942
 
854
943
 
855
- How to change prompt string?
856
- ----------------------------
944
+ ### How to change prompt string?
857
945
 
858
946
  File: ex-prompt1.rb
859
947
 
@@ -865,7 +953,7 @@ def prompt() # !!!!!
865
953
  "myname@localhost>" # !!!!!
866
954
  end # !!!!!
867
955
 
868
- sh "date"
956
+ sys "date"
869
957
  ```
870
958
 
871
959
  Result:
@@ -878,8 +966,7 @@ Wed Jan 15 20:23:07 UTC 2021
878
966
 
879
967
 
880
968
 
881
- How to make prompt colored?
882
- ---------------------------
969
+ ### How to make prompt colored?
883
970
 
884
971
  <!--
885
972
  File: ex-prompt2.rb
@@ -900,13 +987,12 @@ def prompt()
900
987
  #"\e[0;37m#{s}\e[0m" # white
901
988
  end
902
989
 
903
- sh "date"
990
+ sys "date"
904
991
  ```
905
992
 
906
993
 
907
994
 
908
- How to disable command echoback?
909
- --------------------------------
995
+ ### How to disable command echoback?
910
996
 
911
997
  File: ex-quiet1.rb
912
998
 
@@ -916,7 +1002,7 @@ include Benry::UnixCommand
916
1002
 
917
1003
  BENRY_ECHOBACK = false # !!!!!
918
1004
 
919
- sh "date"
1005
+ sys "date"
920
1006
  ```
921
1007
 
922
1008
  Result:
@@ -928,9 +1014,8 @@ Wed Jan 1 22:29:55 UTC 2020 # no echoback, only output
928
1014
 
929
1015
 
930
1016
 
931
- License and Copyright
932
- =====================
1017
+ ## License and Copyright
933
1018
 
934
1019
  $License: MIT License $
935
1020
 
936
- $Copyright: copyright(c) 2021 kuwata-lab.com all rights reserved $
1021
+ $Copyright: copyright(c) 2021 kwatch@gmail.com $