作者tutu (丁小雨)
看板Linux
標題[問題] shell script執行方式
時間Fri Oct 5 16:04:04 2018
我寫了一隻簡單的shell script程式 test1.sh
在執行時,不論是 $sh test.sh 或 $./ test1.sh
都可正常執行
但是我看到有人是只打了test1.sh 就可以執行
爬文後判斷是與PATH的當前路徑有關
嘗試將檔案放到bin底下,再下指令test1.sh 也一樣無法執行
不知道有人知道如何改才能只打test1.sh就可以執行嗎
非常感謝
https://imgur.com/P80H1yp.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.110.200.35
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1538726646.A.A23.html
1F:→ kenduest: 至少先 echo $PATH 看一下會找哪些路徑目錄 10/05 16:17
2F:→ kenduest: 你文章內說的 bin 內,這個完整位置可以再確認一次 10/05 16:18
謝謝kenduest,目前已解決
要可直接執行test1.sh 除了
1、檔案必須要具備可讀與可執行 (rx) 的權限, 這裡可透過chmod更改權限
2、echo $PATH可查看路徑 像我就是出現/home/guest/bin
所以我將test1.sh移到 bin目錄底下 就可以直接以test1.sh執行
先前無法執行原來是因為我底下的/bin並非是目錄而是檔案(可能是我mv檔案時的失誤)
才造成如此
※ 編輯: tutu (140.110.200.35), 10/05/2018 16:32:12
3F:推 da21510: chmod +x 10/05 18:03
4F:→ da21510: 我看錯問題0.0 10/05 18:04
5F:推 alan23273850: 糾結這個問題滿無聊的,不久有沒有./的差別 10/06 09:26
6F:推 ucool522: ... 10/06 12:05
7F:推 holishing: 不過感覺弄清楚這基本的東西, 之後設定其他東西浪費的 10/06 19:05
8F:→ holishing: 的時間或許就會少一點了...吧? 10/06 19:05
9F:→ rickieyang: 個人是覺得除非很清楚 script 寫了啥, 要不然放到 10/06 23:59
10F:→ rickieyang: PATH 裡還滿危險的啦, 尤其是把丟 script 的路徑直接 10/07 00:00
11F:→ rickieyang: 加進去 PATH... 10/07 00:00
12F:推 cphe: 鳥哥網站基本觀念可以先看一下 10/07 16:32