Mụta ihe dị iche n'etiti $$na $BASHPID na Bash


N'oge na-adịbeghị anya, a na m arụ ọrụ na edemede shei wee hụ nnukwu ọdịiche na ka bash pụrụ iche agbanwe $ na BASHPID si akpa àgwà. A ga-ekenye usoro ọ bụla na-agba ọsọ na Linux na ID usoro na nke ahụ bụ ka sistemụ arụmọrụ si ejikwa usoro ahụ.

N'otu aka ahụ, a ga-ekenyekwa nnọkọ ọnụ bash gị na ID usoro. Enwere mgbanwe pụrụ iche a na-akpọ \$\ na \$BASHPID\ nke na-echekwa ID nhazi nke shei ugbu a.

Gaa n'ihu wee mee iwu dị n'okpuru ka ịhụ ihe bụ ID usoro nke shei gị ugbu a. Ma \$\ na \$BASHPID\ ga-eweghachi otu uru ahụ.

$ echo $$               # Printing special variable $
$ echo $BASHPID         # Printing the varibale $BASHPID

Na bash mgbe anyị na-akpọ ihe omume mpụga ọ bụla site na shei, ọ ga-emepụta usoro ụmụaka/subshell na mmemme a ga-edozi na usoro nwatakịrị naanị. Hụ ihe atụ n'okpuru ebe m na-etinye iwu nleba anya usoro dị mfe na edemede a na-akpọ sample.sh iji gosi ka shei nne na nna si emepụta subshell iji mee mmemme ahụ.

#!/usr/bin/env bash

ps -ef --forest | grep -i bash

Ugbu a na-agba ọsọ edemede a, anyị nwere ike nweta ID nke bash. Site na foto dị n'okpuru ebe a, ị nwere ike ịghọta mgbe m na-akpọ script bash na-emepụta usoro ụmụaka ma na-agba ọsọ edemede ahụ.

$ ./sample.sh

Ugbu a, ka anyị jiri ma \$\ na \$BASHPID\ n'ime edemede wee hụ ihe ọ na-alọta.

#!/usr/bin/env bash
echo "============================"
ps -ef --forest | grep -i bash
echo "============================"
echo "PID USING $ FOR SCRIPT $0 ==> $$"
echo "PID USING BASHPID FOR SCRIPT $0 ==> $BASHPID"
echo

Ugbu a megharịa edemede ahụ ọzọ.

$ ./sample.sh

Ọ dị mma, ọ na-eweghachite otu ID usoro. Nke a na-abịa n'ezie ọdịiche. Ka anyị mepụta usoro nwatakịrị ọzọ n'ime edemede ahụ site n'ịgba iwu n'ime parentheses() .

# STORING THE PID INTO A VARIABLE…

VAR_HASH=$(echo $$)
VAR_BASHPID=$(echo $BASHPID)

echo "VALUE OF VAR_HASH ==> $VAR_HASH"
echo "VALUE OF VAR_BASHPID ==> $VAR_BASHPID"

Na bash, nne na nna ga-akpọku usoro nwatakịrị wee mee ihe ọ bụla na-abata n'ime mbike. N'ọnọdụ ahụ, ma $ na $BASHPID kwesịrị ịchekwa NJ usoro ụmụaka ọhụrụ. Mana site na onyonyo dị n'elu, ị nwere ike ịhụ na enwere ọdịiche ebe $ na-echekwa 382 nke bụ NJ nne na nna (NJ usoro nke script sample.sh), na $BASHPID na-echekwa NJ usoro nwata emepụtara site na mbikọ.

Ugbu a, ka anyị gbalịa ịghọta omume a. Anyị ga-ahụ ihe ibe nwoke kwuru.

$ man bash

Mgbe ị na-eji $, ọbụlagodi n'ime obere sheilụ, ọ na-echekwa NJ usoro nke usoro nne na nna o si kee ya. Mana BASHPID ga-echekwa NJ usoro dị ugbu a, ya bụ, mgbe akpọrọ ya n'ime akpaaka ọ ga-echekwa ID nhazi nwata.

Anyị enweghị ike ịnye ma ọ bụ gbanwee mgbanwe $, mana BASHPID nwere ike ịnyegharị ma ọ nweghị mmetụta.

$ $=10
$ BASHPID=10
$ echo $BASHPID

Enwere ike iwepụ BASHPID. Mgbe ị na-ewepụ ya, ọ ga-efunahụ ọnọdụ pụrụ iche yana ị nwekwara ike ịmalite iji nke a dị ka mgbanwe nkịtị.

$ unset BASHPID
$ echo $BASHPID
$ BASHPID="Tecmint"
$ echo $BASHPID

Ọbụna ma ọ bụrụ na ị na-agbalị ikenye usoro ID nke shei a ga-emeso ya dị ka onye ọrụ-akọwapụta agbanwe ebe ọ bụ na ọ tụfuru ọnọdụ pụrụ iche.

$ BASHPID=$(echo $$)
$ echo $$;echo $BASHPID

N'okwu a, ị ga-eji nnọkọ njedebe ọhụrụ maka BASHPID iji nweta steeti pụrụ iche.

Nke ahụ bụ maka akụkọ a. Anyị ahụla ihe dị iche n'etiti $ na BASHPID yana otu ha si akpa àgwà n'akụkọ a. Gaa na akụkọ a ma kesaa nzaghachi gị bara uru na anyị.