次のスクリプトがあります。
$ cat test.sh
#! /usr/local/bin/bash
date
走る、
$ test.sh
-bash: test.sh: command not found
効果がある
$ ./test.sh
Thu Oct 25 18:04:45 CST 2018
それでも私はそれがtest.sh
同じであることを知っています./test.sh
。
$ file test.sh
test.sh: Bourne-Again shell script text executable, ASCII text
$ file ./test.sh
./test.sh: Bourne-Again shell script text executable, ASCII text
test.sh
との微妙な違いは何ですか./test.sh
?
答え1
コマンドを実行するこの2つの方法は同じではありません。を使用すると、現在のディレクトリからスクリプトを実行./test.sh
できます。test.sh
でtest.sh
実行できます。test.sh
$PATH
scriptを呼び出すと、test
runはシェルに組み込まれているユーティリティをtest
使用し(出力なし)、runはスクリプトを実行します。test
./test
関連: