Closed nafuka11 closed 3 years ago
/bin/ls/echo - Not a directory /bin/hello - No such file or directory ファイルかディレクトリか判定してるので注意が必要そうです。
PATH=a/b
a/b/ls
ls ->実行可能
a/b , ls
bash: a/b/ls: No such file or directory
↑hash -
rを実行することでnot foundになる
lsをmdという名前でコピー
user42@salty-VirtualBox:~/workspace/42_minishell$ export PATH=a
user42@salty-VirtualBox:~/workspace/42_minishell$ md
md: command not found
user42@salty-VirtualBox:~/workspace/42_minishell$ unset PATH
user42@salty-VirtualBox:~/workspace/42_minishell$ echo $PATH
user42@salty-VirtualBox:~/workspace/42_minishell$ md
ast.dot includes libft Makefile md minishell srcs
PATHがない時はカレントディレクトリから検索
lsをmdという名前でコピー
user42@salty-VirtualBox:~/workspace/42_minishell/srcs/utils$ export PATH=a/b/
user42@salty-VirtualBox:~/workspace/42_minishell/srcs/utils$ md
a a.out ast.dot build_path.c env.c env.o env_utils.c env_utils.o error.c error.o md path_debug_.c token.c token.o token_utils.c
user42@salty-VirtualBox:~/workspace/42_minishell/srcs/utils$ export PATH=/a/b/
user42@salty-VirtualBox:~/workspace/42_minishell/srcs/utils$ md
md: command not found
user42@salty-VirtualBox:~/workspace/42_minishell/srcs/utils$ export PATH=/a/b/
PATHに設定されているpathが絶対パスでない場合はカレントディレクトリから検索
user42@salty-VirtualBox:~/workspace/42_minishell/srcs/utils$ ls /
+ ls --color=auto /
bin ...
user42@salty-VirtualBox:~/workspace/42_minishell/srcs/utils$ ls /../../../../../../../
+ ls --color=auto /../../../../../../../
bin ...
/
より上はいけない
ls
だったらPATHからディレクトリをjoinしていって実行ファイルを探し、あったらそれを実行する。