#! /bin/bash pid=$(pgrep hello) echo ${pid}
腳本名稱是 hello_test.sh
當hello進程存在時,總是返回兩個值
當hello進程不存在時,返回值並不爲空,總是返回一個值,多次運行,返回的值並不固定
當然,以上都不是期望的結果。
爲什麼不存在時,也會返回呢,並且返回值不一樣,記得好像有一個內部變量記得上次shell進程的pid,
應該是這樣。
經人提醒,腳本是不是也是hello.sh,終於恍然醒悟,腳本名是hello_test.sh,也包含hello,那返回的值應該是當前腳本的pid
想完測試一下,在原來的腳本中再加上
echo $$
在hello沒運行時,會輸出兩行相同的值,預想得到證明。
算是發現一個小的隱藏甜點吧,呵呵!