回答編集履歴
2
コメントに書かれている「$echo」という記述への対処について追記した。
answer
CHANGED
@@ -5,4 +5,25 @@
|
|
5
5
|
```bash
|
6
6
|
#!/bin/bash
|
7
7
|
exec $@
|
8
|
-
```
|
8
|
+
```
|
9
|
+
|
10
|
+
※コメントを受けて追記
|
11
|
+
|
12
|
+
> $ $echo "hello" の方はやはり無理なようですね。
|
13
|
+
|
14
|
+
「$echo」の場合にだけ対処するなら、.bashrcなどに
|
15
|
+
```bash
|
16
|
+
export echo=echo
|
17
|
+
```
|
18
|
+
の記述を入れておけば一応対応できます。($echoを展開すると「echo」という文字列となるようにする)
|
19
|
+
もちろん、コマンドラインの先頭にくるのは「echo」とは限らないので、
|
20
|
+
```bash
|
21
|
+
export echo=echo
|
22
|
+
export awk=awk
|
23
|
+
export sed=sed
|
24
|
+
export ls=ls
|
25
|
+
export find=find
|
26
|
+
(以下必要なコマンドの分だけ続く)
|
27
|
+
```
|
28
|
+
のように延々と書いていく必要があり現実的ではありません。
|
29
|
+
また上記の記述が本来の環境変数の設定とバッティングするようなことも起こるかもしれません。
|
1
質問文で記載されている例を実行した場合の動作について追記した。
answer
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
+
決してオススメするわけではありませんが…、
|
1
2
|
'$'というファイル名でで以下のような内容のファイルを作って、実行権限を与えてPATHの通ったところに配置しておけば実現できるような気がします。
|
3
|
+
「$ echo "hello"」のほうは出来そうですが、「$echo "hello"」のほうはこの方法では無理そうですね。
|
2
4
|
|
3
5
|
```bash
|
4
6
|
#!/bin/bash
|