回答編集履歴

1

コメントの内容を追記

2019/12/19 05:20

投稿

zacky
zacky

スコア59

test CHANGED
@@ -13,3 +13,25 @@
13
13
  ```
14
14
 
15
15
  `ls -l` を実行すると、`"$@"`には `--color=auto -l`が入ってしまい、ifの条件に合致しません。
16
+
17
+
18
+
19
+ 完全一致で行うのではなく、正規表現によるマッチングはいかがでしょうか?
20
+
21
+ ```
22
+
23
+ function ls() {
24
+
25
+ if [[ "$@" =~ ^.*-l$ ]]; then
26
+
27
+ command ls -lh
28
+
29
+ else
30
+
31
+ command ls "$@"
32
+
33
+ fi
34
+
35
+ }
36
+
37
+ ```