質問するログイン新規登録

回答編集履歴

2

コメントに書かれている「$echo」という記述への対処について追記した。

2020/09/04 07:11

投稿

hidezzz
hidezzz

スコア1248

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

質問文で記載されている例を実行した場合の動作について追記した。

2020/09/04 07:11

投稿

hidezzz
hidezzz

スコア1248

answer CHANGED
@@ -1,4 +1,6 @@
1
+ 決してオススメするわけではありませんが…、
1
2
  '$'というファイル名でで以下のような内容のファイルを作って、実行権限を与えてPATHの通ったところに配置しておけば実現できるような気がします。
3
+ 「$ echo "hello"」のほうは出来そうですが、「$echo "hello"」のほうはこの方法では無理そうですね。
2
4
 
3
5
  ```bash
4
6
  #!/bin/bash