コマンドの作成
適当なディレクトリ(/usr/local/custom_commandなどの名前で作成)にシェルファイルを置く
ファイル名がコマンド名になる(ここではtesthelloで作成)。
↓/usr/local/custom_command/testhelloの中身
# vim testhello
#!/bin/sh
echo "HelloWorld!"
権限を変更してパスを通す(失敗)
以下は失敗例です。成功例だけ知りたい人は次の章まで飛んでください
$ sudo chmod 744 testhello
$ vim ~/.bash_profile
以下を追記
export PATH=$PATH:/usr/local/custom_command/
sudo以外のユーザーで実行できないようにはなったものの、sudo testhelloと打つと「コマンドが見つかりません」と出てしまう、、、
権限を変更してパスを通す(成功)
$ sudo chmod 744 testhello
sudo ユーザーはコマンドのパスとしてsudoers内のsecure_pathを使うらしいので、sudo visudoを開いてここに追加
$ sudo visudo
↓↓↓最後の行
Defaults secure_path="(中略):/usr/local/custom_command"
成果物
$ testhello
> -bash: /usr/local/custom_command/testhello: 許可がありません
$ sudo testhello
> HelloWorld!
参考
sudo「コマンドが見つかりません」PATHが初期化されているときの対処法
https://blog.thingslabo.com/archives/000395.html
自作のコマンドを作成した
https://qiita.com/yoshiken/items/2b8e6c24d6b95e65b625
編集履歴
1/16: chmodを755→744にして、chownの設定をやめました