ଆପଣ ଚାହାଁନ୍ତି ଯେ ଗୋଟିଏ ଡାଉନଲୋଡ ଅଲଗା ପ୍ରକ୍ସି ବ୍ୟବହାର କରୁ, ତା’ପରେ ସବୁ ସ୍ୱାଭାବିକ ହୋଇଯାଉ। ଆପଣଙ୍କ shell ର startup ଫାଇଲ ସମ୍ପାଦନ କରି ଏହାକୁ ଫେରାଇବା ମନେ ରଖିବେ ବୋଲି ଆଶା କରିବାର ଆବଶ୍ୟକତା ନାହିଁ।

POSIX ଶୈଳୀର shell ରେ ବାହ୍ୟ କମାଣ୍ଡ ପାଇଁ, କମାଣ୍ଡ ପୂର୍ବରୁ assignment ରଖନ୍ତୁ:

https_proxy=http://proxy.example:8080 curl https://example.com/

ସେହି ଡାଉନଲୋଡ ପାଇଁ ଉଦ୍ଦିଷ୍ଟ HTTP endpoint ବ୍ୟବହାର କରନ୍ତୁ; HTTP ପ୍ରକ୍ସି ତାଲିକା ଅନୁମୋଦିତ ସାର୍ବଜନୀନ ପଥ ପାଇଁ ପ୍ରାର୍ଥୀ ଦିଏ। assignment ଟି ସେହି କମାଣ୍ଡର ପରିବେଶକୁ ଦିଆଯାଏ। ଏହାର ଶିଶୁ ପ୍ରକ୍ରିୟାମାନେ ମୂଲ୍ୟ ଉତ୍ତରାଧିକାର ପାଇପାରନ୍ତି, କିନ୍ତୁ କମାଣ୍ଡ ସମାପ୍ତ ହେବା ପରେ assignment ଟି ପିତୃ shell ର ବିଦ୍ୟମାନ ମୂଲ୍ୟ କୁ ବଦଳାଏ ନାହିଁ।

କ’ଣ ପଢ଼ିବ ତାହା କ୍ଲାଏଣ୍ଟ ହିଁ ନିର୍ଣ୍ଣୟ କରେ

shell ସିଣ୍ଟାକ୍ସ ଏକ ପରିବେଶ ସୃଷ୍ଟି କରେ; ଏହା ନେଟୱାର୍କ ପଥ ବାଧ୍ୟତାମୂଳକ କରେ ନାହିଁ। ଆପ୍ଲିକେସନ ଯେଉଁ ଭେରିଏବଲ ନାମ ସମର୍ଥନ କରେ ତାହା ବ୍ୟବହାର କରନ୍ତୁ। ବିଦ୍ୟମାନ bypass ଭେରିଏବଲ, ସ୍ପଷ୍ଟ କମାଣ୍ଡ ବିକଳ୍ପ କିମ୍ବା ଆପ୍ଲିକେସନର ନିଜସ୍ୱ କନଫିଗରେସନ ଫଳାଫଳକୁ ପ୍ରଭାବିତ କରିପାରେ।

Bash ପରିବେଶ ଡକୁମେଣ୍ଟେସନ କମାଣ୍ଡ-ଉପସର୍ଗର ଆଚରଣ ବ୍ୟାଖ୍ୟା କରେ। shell ଫଙ୍କସନ, ବିଶେଷ builtin କିମ୍ବା shell ସିଣ୍ଟାକ୍ସ ଥିବା କମାଣ୍ଡର ଅତିରିକ୍ତ ସ୍କୋପ ନିୟମ ଥାଇପାରେ, ତେଣୁ ଉପରର ସରଳ ଉଦାହରଣ ଜାଣିଶୁଣି ବାହ୍ୟ ପ୍ରୋଗ୍ରାମ ବ୍ୟବହାର କରେ।

ଏକାଧିକ କମାଣ୍ଡ ପାଇଁ, subshell ବ୍ୟବହାର କରନ୍ତୁ

(
  export http_proxy=http://proxy.example:8080
  export https_proxy=http://proxy.example:8080
  command-one
  command-two
)

ବନ୍ଧନୀ ଭିତରର ଗୋଷ୍ଠୀ ନିଜର shell ପରିବେଶ ସହିତ ଚାଲେ। ଉଦାହରଣର କମାଣ୍ଡ ନାମଗୁଡ଼ିକୁ ଆପଣ ଚଲାଇବାକୁ ଚାହୁଁଥିବା ପ୍ରୋଗ୍ରାମ ସହିତ ବଦଳାନ୍ତୁ। ଏହି ଢାଞ୍ଚା ପୁରୁଣା ମୂଲ୍ୟ ସଞ୍ଚୟ କରିବା, ତା’ଉପରେ ଲେଖିବା ଏବଂ ପ୍ରତ୍ୟେକ ସମ୍ଭାବ୍ୟ ବିଫଳତା ପରେ ହାତରେ ପୁନଃସ୍ଥାପନ କରିବାର ଦୁର୍ବଳ କ୍ରମକୁ ଏଡ଼ାଏ।

shell ଇତିହାସକୁ କପି ହେଉଥିବା ଉଦାହରଣରୁ ରହସ୍ୟ ଦୂରରେ ରଖନ୍ତୁ। ମନେ ରଖନ୍ତୁ ଯେ sudo ପରିବେଶକୁ ଫିଲ୍ଟର କରିପାରେ; ବାହ୍ୟ କମାଣ୍ଡକୁ ଦେଖାଯାଉଥିବା ଭେରିଏବଲ ସ୍ୱଚାଳିତଭାବେ ପ୍ରତ୍ୟେକ ବିଶେଷାଧିକାର ସୀମା ଦେଇ ଯାଏ ନାହିଁ। ସାମୟିକ ସ୍କୋପ ଏବଂ ପ୍ରକୃତ ପ୍ରକ୍ସି ଚୟନ ଅଲଗା ପ୍ରଶ୍ନ ହୋଇ ରହେ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ