ಬೂದಿ - ಲಿನಕ್ಸ್ ಕಮಾಂಡ್ - ಯುನಿಕ್ಸ್ ಕಮಾಂಡ್

NAME

sh - ಕಮಾಂಡ್ ಇಂಟರ್ಪ್ರಿಟರ್ ( ಶೆಲ್ )

ಸಿನೋಪ್ಸಿಸ್

sh [- / + aCefnuvxIimqsVEbc ] [- ಉದ್ದನೆಯ ಹೆಸರು ] -ಪದಗಳು [ ಗುರಿ ... ]

ವಿವರಣೆ

Sh ಗೆ ಸಿಸ್ಟಮ್ಗೆ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಕಮಾಂಡ್ ಇಂಟರ್ಪ್ರಿಟರ್. ಷಿಯ ಪ್ರಸ್ತುತ ಆವೃತ್ತಿ POSIX 1003.2 ಮತ್ತು ಶೆಲ್ಗಾಗಿ 1003.2a ವಿಶೇಷಣಗಳೊಂದಿಗೆ ಅನುಗುಣವಾಗಿ ಬದಲಾಗುತ್ತಿರುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿದೆ. ಈ ಆವೃತ್ತಿ ಕಾರ್ನ್ ಶೆಲ್ಗೆ ಕೆಲವು ರೀತಿಗಳಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಅನೇಕ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹೊಂದಿದೆ, ಆದರೆ ಅದು ಕಾರ್ನ್ ಶೆಲ್ ಕ್ಲೋನ್ (ksh (1) ಅನ್ನು ನೋಡಿ). POSIX ಮತ್ತು ಕೆಲವೊಂದು ಬರ್ಕ್ಲಿ ವಿಸ್ತರಣೆಗಳಿಂದ ಗೊತ್ತುಪಡಿಸಿದ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಮಾತ್ರ ಈ ಶೆಲ್ನಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿದೆ. ಸಮಯದ ವೇಳೆಗೆ POSIX ಅನುಸರಣೆಯನ್ನು ನಾವು ನಿರೀಕ್ಷಿಸುತ್ತೇವೆ 4.4 BSD ಬಿಡುಗಡೆಯಾಗುತ್ತದೆ. ಈ ಮ್ಯಾನ್ ಪುಟವು ಟ್ಯುಟೋರಿಯಲ್ ಅಥವಾ ಶೆಲ್ನ ಸಂಪೂರ್ಣ ವಿವರಣೆಯನ್ನು ಉದ್ದೇಶಿಸಿಲ್ಲ.

ಅವಲೋಕನ

ಶೆಲ್ ಒಂದು ಕಡತ ಅಥವಾ ಟರ್ಮಿನಲ್ನಿಂದ ಸಾಲುಗಳನ್ನು ಓದುತ್ತದೆ, ಅವುಗಳನ್ನು ಅರ್ಥೈಸುತ್ತದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಇತರ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಬಳಕೆದಾರನು ವ್ಯವಸ್ಥೆಯೊಳಗೆ ಲಾಗ್ ಮಾಡಿದಾಗ ಅದು ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರೋಗ್ರಾಂ (ಬಳಕೆದಾರನು chsh (1) ಕಮಾಂಡ್ನೊಂದಿಗೆ ಬೇರೆ ಶೆಲ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು). ಶೆಲ್ ಹರಿವಿನ ನಿಯಂತ್ರಣ ರಚನೆಗಳನ್ನು ಹೊಂದಿರುವ ಒಂದು ಭಾಷೆಯನ್ನು ಅಳವಡಿಸುತ್ತದೆ, ಇತಿಹಾಸ ಮತ್ತು ಸಾಲಿನ ಸಂಪಾದನೆಯ ಸಾಮರ್ಥ್ಯಗಳೊಂದಿಗೆ ನಿರ್ಮಿಸಲಾದ ದತ್ತಾಂಶ ಸಂಗ್ರಹಣೆಗೆ ಹೆಚ್ಚುವರಿಯಾಗಿ ವೈವಿಧ್ಯಮಯ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಒದಗಿಸುವ ಮ್ಯಾಕ್ರೊ ಸೌಲಭ್ಯವನ್ನು ಹೊಂದಿದೆ. ಇದು ಸಂವಾದಾತ್ಮಕ ಬಳಕೆಗೆ ಸಹಾಯ ಮಾಡಲು ಅನೇಕ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿದೆ ಮತ್ತು ಪರಸ್ಪರ ವಿವರಣಾತ್ಮಕ ಭಾಷೆ ಮತ್ತು ಸಂವಾದಾತ್ಮಕ ಬಳಕೆಗೆ (ಶೆಲ್ ಲಿಪಿಗಳು) ಸಾಮಾನ್ಯವಾದದ್ದು ಅನುಕೂಲವಾಗುತ್ತದೆ. ಅಂದರೆ, ಆಜ್ಞೆಗಳನ್ನು ಚಾಲನೆಯಲ್ಲಿರುವ ಶೆಲ್ಗೆ ನೇರವಾಗಿ ಟೈಪ್ ಮಾಡಬಹುದು ಅಥವಾ ಫೈಲ್ನಲ್ಲಿ ಇಡಬಹುದಾಗಿದೆ ಮತ್ತು ಫೈಲ್ ಅನ್ನು ನೇರವಾಗಿ ಶೆಲ್ನಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು.

ಆಹ್ವಾನ

ಯಾವುದೇ ವಾದಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೆ ಮತ್ತು ಶೆಲ್ನ ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ ಒಂದು ಟರ್ಮಿನಲ್ಗೆ (ಅಥವಾ - ನಾನು ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಹೊಂದಿಸಿದರೆ) ಸಂಪರ್ಕಿಸಿದ್ದರೆ, ಮತ್ತು - ಸಿ ಆಯ್ಕೆಯು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲವಾದರೆ, ಶೆಲ್ ಅನ್ನು ಸಂವಾದಾತ್ಮಕ ಶೆಲ್ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಒಂದು ಸಂವಾದಾತ್ಮಕ ಶೆಲ್ ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರತಿ ಕಮಾಂಡ್ನ ಮುಂದೆ ಅಪೇಕ್ಷಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮತ್ತು ಕಮಾಂಡ್ ದೋಷಗಳನ್ನು ವಿಭಿನ್ನವಾಗಿ ನಿರ್ವಹಿಸುತ್ತದೆ (ಕೆಳಗೆ ವಿವರಿಸಿದಂತೆ). ಮೊದಲಿಗೆ ಪ್ರಾರಂಭಿಸಿದಾಗ, ಶೆಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್ 0 ಅನ್ನು ಪರೀಕ್ಷಿಸುತ್ತದೆ, ಮತ್ತು ಇದು ಡ್ಯಾಶ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗಿದ್ದರೆ '-' ಶೆಲ್ ಸಹ ಲಾಗಿನ್ ಶೆಲ್ ಎಂದು ಪರಿಗಣಿಸಲ್ಪಡುತ್ತದೆ. ಬಳಕೆದಾರನು ಮೊದಲು ಪ್ರವೇಶಿಸಿದಾಗ ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮಾಡಲಾಗುತ್ತದೆ. ಒಂದು ಲಾಗಿನ್ ಶೆಲ್ ಮೊದಲಿಗೆ / etc / profile ಫೈಲ್ಗಳಿಂದ ಆದೇಶಗಳನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಅವು ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ ಪ್ರೊಫೈಲ್. ಪರಿಸರ ವೇರಿಯಬಲ್ ENV ಅನ್ನು ಶೆಲ್ಗೆ ಪ್ರವೇಶಿಸಲು ಸೆಟ್ ಮಾಡಿದ್ದರೆ, ಅಥವಾ ಲಾಗಿನ್ ಲಾಂಛನವನ್ನು ಹೊಂದಿಸಿದಲ್ಲಿ, ಶೆಲ್ ಮುಂದಿನ ENV ನಲ್ಲಿ ಹೆಸರಿಸಲಾದ ಫೈಲ್ನಿಂದ ಆಜ್ಞೆಗಳನ್ನು ಓದುತ್ತದೆ, ಆದ್ದರಿಂದ ಬಳಕೆದಾರನು ಮಾತ್ರ ಆಜ್ಞೆಯನ್ನು ಇಟ್ಟುಕೊಳ್ಳಬೇಕು ಲಾಗಿನ್ ಫೈಲ್, ಮತ್ತು ಎನ್ವಿವ್ ಕಡತದೊಳಗೆ ಪ್ರತಿ ಶೆಲ್ಗಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲ್ಪಡುವ ಆಜ್ಞೆಗಳನ್ನು ಪ್ರವೇಶಿಸಿ. ಕೆಲವು ಕಡತಕ್ಕೆ ENV ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೊಂದಿಸಲು, ನಿಮ್ಮ ಕೆಳಗಿನ ಕೋಶವನ್ನು ಇರಿಸಿ .ನಿಮ್ಮ ಹೋಮ್ ಕೋಶದ ಪ್ರೊಫೈಲ್

ENV = $ HOME / .Shinit; ರಫ್ತು ENV

`` ಶಿನಿಟ್ '' ಎಂದು ನೀವು ಬಯಸುವ ಯಾವುದೇ ಫೈಲ್ ಹೆಸರನ್ನು ಬದಲಿಸಬೇಕು. ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ನಾನ್-ಇಂಟರಾಕ್ಟಿವ್ ಚಿಪ್ಪುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಶೆಲ್ನ ಪ್ರತಿ ಆಹ್ವಾನಕ್ಕಾಗಿ ENV ಕಡತವನ್ನು ಓದಿದ ನಂತರ, ಸಂವಾದಾತ್ಮಕ ಆಹ್ವಾನಗಳಿಗೆ ENV ಫೈಲ್ನಲ್ಲಿ ಆಜ್ಞೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವುದಕ್ಕೆ ಕೆಳಗಿನ ಮಾದರಿ ಉಪಯುಕ್ತವಾಗಿದೆ. "ಪ್ರಕರಣ" ಮತ್ತು " esac " ಒಳಗೆ ಇರುವ ಆದೇಶಗಳನ್ನು ಇರಿಸಿ (ಈ ಆಜ್ಞೆಗಳನ್ನು ನಂತರ ವಿವರಿಸಲಾಗಿದೆ):

ಕೇಸ್ $ - ಇನ್ * ನಾನು *)

ಸಂವಾದಾತ್ಮಕ ಬಳಕೆಗಾಗಿ # ಆದೇಶಗಳು ಮಾತ್ರ

...

ಎಸ್ಸಾಕ್

ಆಯ್ಕೆಗಳನ್ನು ಹೊರತುಪಡಿಸಿ ಆಜ್ಞಾ ಸಾಲಿನ ಆರ್ಗ್ಯುಮೆಂಟುಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ, ಶೆಲ್ ಮೊದಲ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ಆಜ್ಞೆಗಳನ್ನು (ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್) ಓದಲು ಫೈಲ್ನ ಹೆಸರಾಗಿ ಪರಿಗಣಿಸುತ್ತದೆ, ಮತ್ತು ಉಳಿದ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳನ್ನು ಶೆಲ್ನ ಸ್ಥಾನಾತ್ಮಕ ನಿಯತಾಂಕಗಳಾಗಿ ($ 1 , $ 2, ಇತ್ಯಾದಿ). ಇಲ್ಲದಿದ್ದರೆ, ಶೆಲ್ ಅದರ ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ನಿಂದ ಆದೇಶಗಳನ್ನು ಓದುತ್ತದೆ.

ವಾದ ಪಟ್ಟಿ ಸಂಸ್ಕರಣ

ಏಕ ಲಿಖಿತ ಆಯ್ಕೆಗಳು ಎಲ್ಲಾ ರೀತಿಯ ಹೆಸರನ್ನು ಹೊಂದಿದ್ದು, ಅದು - ಆಯ್ಕೆಗೆ ವಾದವನ್ನು ಬಳಸಬಹುದು. ಕೆಳಗಿನ ವಿವರಣೆಯಲ್ಲಿ ಸಿಂಗಲ್ ಲೆಟರ್ ಆಯ್ಕೆಯನ್ನು ಪಕ್ಕದಲ್ಲಿ ಸೆಟ್- ಹೆಸರನ್ನು ಒದಗಿಸಲಾಗುತ್ತದೆ. ಆಯ್ಕೆಯನ್ನು ಡ್ಯಾಶ್ ಮಾಡುವುದರಿಂದ `` + 'ಅನ್ನು ಆಯ್ಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಕೆಳಗಿನ ಆಯ್ಕೆಗಳನ್ನು ಆಜ್ಞಾ ಸಾಲಿನಿಂದ ಅಥವಾ ಸೆಟ್ (1) ನಿರ್ಮಿಸಿದ (ನಂತರ ವಿವರಿಸಲಾಗಿದೆ) ಹೊಂದಿಸಬಹುದು.

-ಅಲ್ಲೆಕ್ಸ್ಪೋರ್ಟ್

ನಿಯೋಜಿಸಲಾದ ಎಲ್ಲಾ ಅಸ್ಥಿರಗಳನ್ನು ರಫ್ತು ಮಾಡಿ. (4.4alpha ಗಾಗಿ UNIMPLEMENTED)

-c

ಆಜ್ಞಾ ಸಾಲಿನಿಂದ ಆದೇಶಗಳನ್ನು ಓದಿ. ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ನಿಂದ ಯಾವುದೇ ಆದೇಶಗಳನ್ನು ಓದಲಾಗುವುದಿಲ್ಲ.

-C ನೊಕ್ಲೊಬ್ಬರ್

ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಫೈಲ್ಗಳನ್ನು `>> '' ಜೊತೆ ಬದಲಿಸಿ ಮಾಡಬೇಡಿ (4.4alpha ಗೆ UNIMPLEMENTED)

-ಇದು ಸರಿಯಿದೆ

ಸಂವಾದವಿಲ್ಲದಿದ್ದರೆ, ಯಾವುದೇ ಪರೀಕ್ಷಿಸದ ಆದೇಶ ವಿಫಲವಾದರೆ ತಕ್ಷಣ ನಿರ್ಗಮಿಸಿ. ಆಜ್ಞೆಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯು ಆಜ್ಞೆಯು ಒಂದು ವೇಳೆ " ಎಫ್ಐಎಫ್ " && "ಅಥವಾ" "||" ನ ಎಡಗೈ ಕಾರ್ಯಾಚರಣೆಯು ಯಾವಾಗ ಅಥವಾ ಎಲಿಫ್ ಆಗಿದ್ದರೆ ನಿಯಂತ್ರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ ಎಂದು ಸ್ಪಷ್ಟವಾಗಿ ಪರೀಕ್ಷಿಸಲಾಗುತ್ತದೆ.

-f noglob

ಪಾತ್ ಹೆಸರಿನ ವಿಸ್ತರಣೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ.

-n noexec

ಇಂಟರ್ಯಾಕ್ಟಿವ್ ಇಲ್ಲದಿದ್ದರೆ, ಆಜ್ಞೆಗಳನ್ನು ಓದಿದರೂ ಅವುಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬೇಡ. ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟುಗಳ ಸಿಂಟ್ಯಾಕ್ಸ್ ಪರೀಕ್ಷಿಸಲು ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ.

-u ನಾಮಪದ

ಹೊಂದಿಸದ ವೇರಿಯೇಬಲ್ ವಿಸ್ತರಿಸಲು ಪ್ರಯತ್ನಿಸುವಾಗ ಒಂದು ಸಂದೇಶವನ್ನು ಸ್ಟ್ಯಾಂಡರ್ಡ್ ದೋಷಕ್ಕೆ ಬರೆಯಿರಿ ಮತ್ತು ಶೆಲ್ ಸಂವಾದಾತ್ಮಕವಾಗಿಲ್ಲದಿದ್ದರೆ, ತಕ್ಷಣ ನಿರ್ಗಮಿಸಿ. (4.4alpha ಗಾಗಿ UNIMPLEMENTED)

-v ವರ್ಬಸ್

ಶೆಲ್ ಓದಿದಂತೆಯೇ ಅದರ ದೋಷವನ್ನು ಪ್ರಮಾಣಿತ ದೋಷಕ್ಕೆ ಬರೆಯುತ್ತದೆ. ಡೀಬಗ್ ಮಾಡಲು ಉಪಯುಕ್ತ.

-x xtrace

ಪ್ರತಿ ಆಜ್ಞೆಯನ್ನು ಸ್ಟ್ಯಾಂಡರ್ಡ್ ದೋಷಕ್ಕೆ ಬರೆಯಿರಿ (ಇದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೊದಲು `+ 'ಮುಂಚಿತವಾಗಿ ಡಿಬಗ್ ಮಾಡಲು ಉಪಯುಕ್ತವಾಗಿದೆ.

-q quietprofile

- ವಿ ಅಥವಾ - ಎಕ್ಸ್ ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿಸಿದಲ್ಲಿ, ಆರಂಭದ ಫೈಲ್ಗಳನ್ನು ಓದುವಾಗ ಅವುಗಳು ಅನ್ವಯಿಸುವುದಿಲ್ಲ, ಇವುಗಳು / etc / profile ಆಗಿರುತ್ತವೆ .ಪ್ರಸ್ತುತ ಮತ್ತು ENV ಪರಿಸರ ವೇರಿಯೇಬಲ್ನಿಂದ ಸೂಚಿಸಲಾದ ಫೈಲ್.

- ನಾನು ನಿರ್ಲಕ್ಷಿಸಿ

ಸಂವಾದಾತ್ಮಕವಾಗಿದ್ದಾಗ EOF ಇನ್ಪುಟ್ನಿಂದ ನಿರ್ಲಕ್ಷಿಸಿ.

-i ಇಂಟರ್ಯಾಕ್ಟಿವ್

ಶೆಲ್ ಅನ್ನು ಪರಸ್ಪರ ವರ್ತಿಸುವಂತೆ ಒತ್ತಾಯಿಸಿ.

-m ಮಾನಿಟರ್

ಉದ್ಯೋಗ ನಿಯಂತ್ರಣವನ್ನು ಆನ್ ಮಾಡಿ (ಸಂವಾದಾತ್ಮಕವಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹೊಂದಿಸಿ).

-s stdin

ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ನಿಂದ ಆಜ್ಞೆಗಳನ್ನು ಓದಿ (ಫೈಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳು ಇಲ್ಲದಿದ್ದರೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹೊಂದಿಸಿ). ಶೆಲ್ ಈಗಾಗಲೆ ಚಾಲನೆಯಲ್ಲಿರುವ ನಂತರ (ಅಂದರೆ (1) ನೊಂದಿಗೆ ಹೊಂದಿಸಿದ ನಂತರ ಈ ಆಯ್ಕೆಯು ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ.

-V vi

ಅಂತರ್ನಿರ್ಮಿತ vi (1) ಆಜ್ಞಾ ಸಾಲಿನ ಸಂಪಾದಕವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ (ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ - ಇದು ಹೊಂದಿಸಿದ್ದರೆ ).

-E emacs

ಅಂತರ್ನಿರ್ಮಿತ ಎಮ್ಯಾಕ್ಸ್ (1) ಆಜ್ಞಾ ಸಾಲಿನ ಸಂಪಾದಕವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ (ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ - ಇದು ಹೊಂದಿಸಿದ್ದರೆ V ).

-b ಸೂಚಿಸಿ

ಹಿನ್ನೆಲೆ ಕೆಲಸ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆಯ ಅಸಮಕಾಲಿಕ ಅಧಿಸೂಚನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ. (4.4alpha ಗಾಗಿ UNIMPLEMENTED)

ಲೆಕ್ಸಿಕಲ್ ರಚನೆ

ಶೆಲ್ ಕಡತದಿಂದ ರೇಖೆಗಳ ಆಧಾರದಲ್ಲಿ ಇನ್ಪುಟ್ ಅನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಬಿಳಿಯಲ್ಲಿ (ಖಾಲಿ ಜಾಗಗಳು ಮತ್ತು ಟ್ಯಾಬ್ಗಳು) ಅದನ್ನು ಪದಗಳಾಗಿ ಒಡೆಯುತ್ತದೆ ಮತ್ತು "ನಿರ್ವಾಹಕರು" ಎಂಬ ಶೆಲ್ಗೆ ವಿಶೇಷವಾದ ಪಾತ್ರಗಳ ನಿರ್ದಿಷ್ಟ ಅನುಕ್ರಮಗಳಲ್ಲಿ ಅದನ್ನು ಎರಡು ವಿಧದ ನಿರ್ವಾಹಕರು ಇವೆ: ನಿಯಂತ್ರಣ ನಿರ್ವಾಹಕರು ಮತ್ತು ಪುನರ್ನಿರ್ದೇಶನ ನಿರ್ವಾಹಕರು (ಅವುಗಳ ಅರ್ಥವನ್ನು ನಂತರ ಚರ್ಚಿಸಲಾಗಿದೆ). ಆಪರೇಟರ್ಗಳ ಪಟ್ಟಿ ನಂತರ:

"ನಿಯಂತ್ರಣ ನಿರ್ವಾಹಕರು:"

& && (); ;; | ||

"ಮರುನಿರ್ದೇಶನ ಆಯೋಜಕರು:"

<>> | << >> <&> & << - <>

ಉಲ್ಲೇಖಿಸುತ್ತಿದೆ

ನಿರ್ವಾಹಕರು, ಜಾಗಗಳು, ಅಥವಾ ಕೀವರ್ಡ್ಗಳಂತಹ ಶೆಲ್ಗೆ ನಿರ್ದಿಷ್ಟ ಪಾತ್ರಗಳು ಅಥವಾ ಪದಗಳ ವಿಶೇಷ ಅರ್ಥವನ್ನು ತೆಗೆದುಹಾಕಲು ಉಲ್ಲೇಖಿಸಲಾಗುತ್ತಿದೆ. ಮೂರು ವಿಧದ ಉಲ್ಲೇಖಗಳು ಇವೆ: ಹೊಂದಾಣಿಕೆಯ ಸಿಂಗಲ್ ಉಲ್ಲೇಖಗಳು, ಜೋಡಿ ದ್ವಿ ಉಲ್ಲೇಖಗಳು, ಮತ್ತು ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಶ್.

ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್

ಎಕ್ ನ್ಯೂಲೈನ್ ಹೊರತುಪಡಿಸಿ, ಕೆಳಗಿನ ಬ್ಯಾರೆಟ್ನ ಅಕ್ಷರಶಃ ಅರ್ಥವನ್ನು ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಶ್ ಸಂರಕ್ಷಿಸುತ್ತದೆ. ಆಕ್ ನ್ಯೂಲೈನ್ಗೆ ಮುಂಚಿತವಾಗಿ ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್ ಅನ್ನು ಲೈನ್ ಮುಂದುವರಿಕೆಯಾಗಿ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.

ಏಕ ಉಲ್ಲೇಖಗಳು

ಸಿಂಗಲ್ ಕೋಟ್ಸ್ನಲ್ಲಿನ ಲಗತ್ತಿಸುವ ಪಾತ್ರಗಳು ಎಲ್ಲಾ ಅಕ್ಷರಗಳ ಅಕ್ಷರಶಃ ಅರ್ಥವನ್ನು ಸಂರಕ್ಷಿಸುತ್ತದೆ (ಏಕ ಉಲ್ಲೇಖಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ಏಕ-ಉಲ್ಲೇಖಗಳನ್ನು ಏಕ-ಕೋಟೆಡ್ ಸ್ಟ್ರಿಂಗ್ನಲ್ಲಿ ಇಡುವುದು ಅಸಾಧ್ಯವಾಗಿದೆ).

ಡಬಲ್ ಉಲ್ಲೇಖಗಳು

ಡಬಲ್ ಕೋಟ್ಸ್ನೊಳಗೆ ಇರುವ ಅಕ್ಷರಗಳನ್ನು ಡಾಲರ್ಸಿನ್ ($) ಬ್ಯಾಕ್ವೊಟ್ (`) ಮತ್ತು ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಶ್ (\) ಹೊರತುಪಡಿಸಿ ಎಲ್ಲಾ ಅಕ್ಷರಗಳ ಅಕ್ಷರಶಃ ಅರ್ಥವನ್ನು ಸಂರಕ್ಷಿಸುತ್ತದೆ ಡಬಲ್ ಉಲ್ಲೇಖಗಳಲ್ಲಿನ ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್ ಐತಿಹಾಸಿಕವಾಗಿ ವಿಲಕ್ಷಣವಾಗಿದೆ ಮತ್ತು ಕೆಳಗಿನ ಅಕ್ಷರಗಳನ್ನು ಮಾತ್ರ ಉಲ್ಲೇಖಿಸಲು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ:

$ `\

ಇಲ್ಲದಿದ್ದರೆ ಇದು ಅಕ್ಷರಶಃ ಉಳಿದಿದೆ.

ಕಾಯ್ದಿರಿಸಿದ ವರ್ಡ್ಸ್

ಕಾಯ್ದಿರಿಸಿದ ಪದಗಳು ಶೆಲ್ಗೆ ವಿಶೇಷ ಅರ್ಥವನ್ನು ಹೊಂದಿರುವ ಪದಗಳಾಗಿವೆ ಮತ್ತು ಒಂದು ರೇಖೆಯ ಆರಂಭದಲ್ಲಿ ಮತ್ತು ನಿಯಂತ್ರಣ ಕಾರ್ಯಾಚರಣೆಯ ನಂತರ ಗುರುತಿಸಲ್ಪಡುತ್ತವೆ. ಕೆಳಗಿನವುಗಳು ಕಾಯ್ದಿರಿಸಿದ ಪದಗಳಾಗಿವೆ:

! ಟಾ ಎಲಿಫ್ ತಾ ಫಿ ಟಾ ಸಂದರ್ಭದಲ್ಲಿ ಸಂದರ್ಭದಲ್ಲಿ

ಬೇರೆ ಟಾ ಫಾರ್ ಟಾ ತಾ ತಾ {ತಾ}

Ta ಟಾ ಟಾ ಟಾಕ್ ತನಕ ತಾ ತಾ ಮಾಡಿದ್ದಾರೆ

ಅವರ ಅರ್ಥವನ್ನು ನಂತರ ಚರ್ಚಿಸಲಾಗಿದೆ.

ಅಲಿಯಾಸ್ಗಳು

ಅಲಿಯಾಸ್ ಎಂಬುದು alias (1) builtin ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಒಂದು ಹೆಸರು ಮತ್ತು ಅನುಗುಣವಾದ ಮೌಲ್ಯವಾಗಿರುತ್ತದೆ. ಕಾಯ್ದಿರಿಸಿದ ಪದ ಉಂಟಾದಾಗ (ಮೇಲೆ ನೋಡಿ), ಮತ್ತು ಮೀಸಲಾತಿ ಪದಗಳನ್ನು ಪರಿಶೀಲಿಸಿದ ನಂತರ, ಶೆಲ್ ಅಲಿಯಾಸ್ಗೆ ಹೋಲಿಸಿದರೆ ಪದವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಅದು ಮಾಡಿದರೆ, ಅದು ಅದರ ಮೌಲ್ಯದೊಂದಿಗೆ ಇನ್ಪುಟ್ ಸ್ಟ್ರೀಮ್ನಲ್ಲಿ ಅದನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, `` lf '' ಎಂಬ ಅಲಿಯಾಸ್ ಮೌಲ್ಯವನ್ನು `` ls -F '' ಎಂದು ನಮೂದಿಸಿದರೆ ಇನ್ಪುಟ್:

lf foobar

ಆಗುತ್ತದೆ

ls -F foobar

ನ್ಯಾಯಸಮ್ಮತ ಬಳಕೆದಾರರು ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳೊಂದಿಗೆ ಕಾರ್ಯಗಳನ್ನು ಹೇಗೆ ರಚಿಸಬೇಕೆಂದು ಕಲಿಯದೆಯೇ ಆಜ್ಞೆಗಳಿಗೆ ಸಂಕ್ಷಿಪ್ತ ರೂಪಗಳನ್ನು ರಚಿಸಲು ಅಲೈಸಸ್ ಒಂದು ಅನುಕೂಲಕರ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಲೆಕ್ಸಿಕಲಿ ಅಸ್ಪಷ್ಟ ಸಂಕೇತಗಳನ್ನು ರಚಿಸಲು ಅವುಗಳನ್ನು ಬಳಸಬಹುದು. ಈ ಬಳಕೆಯನ್ನು ಪ್ರೋತ್ಸಾಹಿಸಲಾಗುವುದಿಲ್ಲ.

ಆದೇಶಗಳು

ಶೆಲ್ ಒಂದು ಭಾಷೆಯ ಪ್ರಕಾರ ಓದಿದ ಪದಗಳನ್ನು ಅರ್ಥೈಸುತ್ತದೆ, ಈ ಮನುಷ್ಯ ಪುಟದ ವ್ಯಾಪ್ತಿಯ ಹೊರಗೆ ಇರುವ ನಿರ್ದಿಷ್ಟ ವಿವರಣೆ ( POSIX 1003.2 ದಾಖಲೆಯಲ್ಲಿ BNF ಅನ್ನು ನೋಡಿ). ಮೂಲಭೂತವಾಗಿ ಆದರೂ, ಒಂದು ಸಾಲು ಓದುತ್ತದೆ ಮತ್ತು ಮೊದಲ ವಾಕ್ಯದ ಪದ (ಅಥವಾ ನಿಯಂತ್ರಣ ಆಪರೇಟರ್ ನಂತರ) ಒಂದು ಮೀಸಲಾತಿ ಪದವಲ್ಲವಾದರೆ, ನಂತರ ಶೆಲ್ ಸರಳ ಆಜ್ಞೆಯನ್ನು ಗುರುತಿಸಿದೆ. ಇಲ್ಲದಿದ್ದರೆ, ಒಂದು ಸಂಕೀರ್ಣ ಆಜ್ಞೆ ಅಥವಾ ಕೆಲವು ಇತರ ವಿಶೇಷ ರಚನೆಯನ್ನು ಗುರುತಿಸಲಾಗಿದೆ.

ಸರಳ ಆದೇಶಗಳು

ಒಂದು ಸರಳ ಆಜ್ಞೆಯನ್ನು ಗುರುತಿಸಿದ್ದರೆ, ಶೆಲ್ ಈ ಕೆಳಗಿನ ಕ್ರಮಗಳನ್ನು ಮಾಡುತ್ತದೆ:

  1. `` ಹೆಸರು = ಮೌಲ್ಯ '' ರೂಪದ ಪ್ರಮುಖ ಪದಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ ಮತ್ತು ಸರಳ ಆಜ್ಞೆಯ ಪರಿಸರಕ್ಕೆ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ. ಮರುನಿರ್ದೇಶನ ನಿರ್ವಾಹಕರು ಮತ್ತು ಅವರ ವಾದಗಳು (ಕೆಳಗೆ ವಿವರಿಸಿದಂತೆ) ಹೊರತೆಗೆದು ಸಂಸ್ಕರಣೆಗಾಗಿ ಉಳಿಸಲಾಗಿದೆ.
  2. ಉಳಿದ ಪದಗಳನ್ನು "ವಿಸ್ತರಣೆಗಳು" ಎಂಬ ವಿಭಾಗದಲ್ಲಿ ವಿವರಿಸಿರುವಂತೆ ವಿಸ್ತರಿಸಲಾಗಿದೆ ಮತ್ತು ಉಳಿದಿರುವ ಉಳಿದ ಪದವನ್ನು ಕಮಾಂಡ್ ಹೆಸರು ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಆಜ್ಞೆಯು ಇದೆ. ಉಳಿದ ಪದಗಳನ್ನು ಆಜ್ಞೆಯ ವಾದಗಳು ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಯಾವುದೇ ಕಮಾಂಡ್ ಹೆಸರು ಉಂಟಾಗದಿದ್ದಲ್ಲಿ, ಐಟಂ 1 ರಲ್ಲಿ ಗುರುತಿಸಲಾದ "ಹೆಸರು = ಮೌಲ್ಯ" ವೇರಿಯಬಲ್ ಕಾರ್ಯಯೋಜನೆಯು ಪ್ರಸ್ತುತ ಶೆಲ್ ಅನ್ನು ಪರಿಣಾಮ ಬೀರುತ್ತದೆ.
  3. ಮುಂದಿನ ವಿಭಾಗದಲ್ಲಿ ವಿವರಿಸಿದಂತೆ ಮರುನಿರ್ದೇಶನಗಳನ್ನು ನಡೆಸಲಾಗುತ್ತದೆ.

ಮರುನಿರ್ದೇಶನಗಳು

ಆದೇಶವು ಅದರ ಇನ್ಪುಟ್ ಅನ್ನು ಓದುತ್ತದೆ ಅಥವಾ ಅದರ ಔಟ್ಪುಟ್ ಅನ್ನು ಎಲ್ಲಿ ಕಳುಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಬದಲಾಯಿಸಲು ಮರುನಿರ್ದೇಶನಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಪುನರ್ನಿರ್ದೇಶನಗಳು ಫೈಲ್ಗೆ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಉಲ್ಲೇಖವನ್ನು ತೆರೆಯುತ್ತದೆ, ಮುಚ್ಚಿ ಅಥವಾ ನಕಲು ಮಾಡಿ. ಪುನರ್ನಿರ್ದೇಶನಕ್ಕಾಗಿ ಬಳಸಲಾಗುವ ಒಟ್ಟಾರೆ ಸ್ವರೂಪ:

[n] ರಿಡಿರ್-ಆಪ್ ಫೈಲ್

ಅಲ್ಲಿ ರಿಡಿರ್-ಆಪ್ ಹಿಂದೆ ತಿಳಿಸಿದ ಪುನರ್ನಿರ್ದೇಶನ ನಿರ್ವಾಹಕರಲ್ಲಿ ಒಂದಾಗಿದೆ. ಸಂಭವನೀಯ ಪುನರ್ನಿರ್ದೇಶನಗಳ ಪಟ್ಟಿ ನಂತರ. Bq N `3 'ನಲ್ಲಿ (ಐಚ್ಛಿಕವಾಗಿ` ಬಿಕ್ 3' ಆಗಿರುತ್ತದೆ, ಇದು ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ.

[n]> ಫೈಲ್

ಫೈಲ್ಗೆ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಔಟ್ಪುಟ್ (ಅಥವಾ ಎನ್) ಅನ್ನು ಮರುನಿರ್ದೇಶಿಸಿ.

[n]> | ಫೈಲ್

ಅದೇ, ಆದರೆ - ಸಿ ಆಯ್ಕೆಯನ್ನು ಅತಿಕ್ರಮಿಸುತ್ತದೆ.

[ಎನ್] >> ಫೈಲ್

ಫೈಲ್ಗೆ ಪ್ರಮಾಣಿತ ಔಟ್ಪುಟ್ (ಅಥವಾ n) ಅನ್ನು ಸೇರಿಸಿ.

[n]

ಫೈಲ್ನಿಂದ ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ (ಅಥವಾ n) ಅನ್ನು ಮರುನಿರ್ದೇಶಿಸಿ.

[n1] <& n2

ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ n2 ನಿಂದ ನಕಲಿ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಇನ್ಪುಟ್ (ಅಥವಾ ಎನ್ 1).

[n] <& -

ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ ಅನ್ನು ಮುಚ್ಚಿ (ಅಥವಾ n).

[n1]> & n2

N2 ನಿಂದ ಪ್ರಮಾಣಿತ ಉತ್ಪನ್ನವನ್ನು ನಕಲು ಮಾಡಿ (ಅಥವಾ n1).

[n]> & -

ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಔಟ್ಪುಟ್ (ಅಥವಾ ಎನ್) ಮುಚ್ಚಿ.

[n] <> ಫೈಲ್

ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಇನ್ಪುಟ್ (ಅಥವಾ n) ನಲ್ಲಿ ಓದಲು ಮತ್ತು ಬರೆಯಲು ಫೈಲ್ ತೆರೆಯಿರಿ.

ಕೆಳಗಿನ ಮರುನಿರ್ದೇಶನವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ `ಇಲ್ಲಿ-ಡಾಕ್ಯುಮೆಂಟ್ 'ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.

[ಎನ್] << ಡಿಲಿಮಿಟರ್

ಇಲ್ಲಿ-ಡಾಕ್-ಪಠ್ಯ ...

ಡಿಲಿಮಿಟರ್

ಡಿಲಿಮಿಟರ್ ವರೆಗೆ ಸತತ ಸಾಲುಗಳ ಎಲ್ಲಾ ಪಠ್ಯವನ್ನು ಉಳಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್, ಅಥವಾ ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಎನ್ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ಲಭ್ಯವಿರುತ್ತದೆ. ಆರಂಭಿಕ ಸಾಲಿನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಂತೆ ಡಿಲಿಮಿಟರ್ ಅನ್ನು ಉಲ್ಲೇಖಿಸಿದರೆ, ಇಲ್ಲಿ-ಡಾಕ್-ಪಠ್ಯವನ್ನು ಅಕ್ಷರಶಃ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ, ಇಲ್ಲದಿದ್ದರೆ ಪಠ್ಯವನ್ನು ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆ, ಆಜ್ಞೆಯನ್ನು ಬದಲಿಸುವಿಕೆ, ಮತ್ತು ಅಂಕಗಣಿತದ ವಿಸ್ತರಣೆಗೆ ಒಳಪಡಿಸಲಾಗುತ್ತದೆ (`ವಿಸ್ತರಣೆಗಳ ವಿಭಾಗದಲ್ಲಿ ವಿವರಿಸಿರುವಂತೆ) 'ಆಯೋಜಕರು <"-" ಬದಲಿಗೆ `` <<' 'ಆಗಿದ್ದರೆ ಇಲ್ಲಿ ಡಾಕ್-ಟೆಕ್ಸ್ಟ್ನಲ್ಲಿ ಪ್ರಮುಖ ಟ್ಯಾಬ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.

ಹುಡುಕಾಟ ಮತ್ತು ಎಕ್ಸಿಕ್ಯೂಶನ್

ಮೂರು ವಿಧದ ಆಜ್ಞೆಗಳು ಇವೆ: ಶೆಲ್ ಕಾರ್ಯಗಳು, ನಿರ್ಮಿತ ಆಜ್ಞೆಗಳು, ಮತ್ತು ಸಾಮಾನ್ಯ ಕಾರ್ಯಕ್ರಮಗಳು - ಮತ್ತು ಆದೇಶವನ್ನು ಆ ಕ್ರಮದಲ್ಲಿ (ಹೆಸರಿನಿಂದ) ಹುಡುಕಲಾಗುತ್ತದೆ. ಇಬ್ಬರೂ ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರುತ್ತಾರೆ.

ಒಂದು ಶೆಲ್ ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ, ಎಲ್ಲಾ ಶೆಲ್ ಸ್ಥಾನಾತ್ಮಕ ನಿಯತಾಂಕಗಳು ($ 0 ಹೊರತುಪಡಿಸಿ, ಬದಲಾಗದೆ ಉಳಿದಿವೆ) ಶೆಲ್ ಕಾರ್ಯದ ವಾದಗಳಿಗೆ ಹೊಂದಿಸಲಾಗಿದೆ. ಆಜ್ಞೆಯ ಪರಿಸರದಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ಇರಿಸಲಾದ ಅಸ್ಥಿರ (ಕಾರ್ಯನಾಮಕ್ಕೂ ಮುಂಚಿತವಾಗಿ ಅವರಿಗೆ ಕಾರ್ಯಯೋಜನೆಗಳನ್ನು ಇರಿಸುವ ಮೂಲಕ) ಸ್ಥಳೀಯರಿಗೆ ಕಾರ್ಯಕ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಅವುಗಳು ನೀಡಿದ ಮೌಲ್ಯಗಳಿಗೆ ಹೊಂದಿಸಲ್ಪಡುತ್ತವೆ. ನಂತರ ಫಂಕ್ಷನ್ ಡೆಫಿನಿಷನ್ನಲ್ಲಿ ನೀಡಿದ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಕಮಾಂಡ್ ಪೂರ್ಣಗೊಂಡಾಗ ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳನ್ನು ಅವುಗಳ ಮೂಲ ಮೌಲ್ಯಗಳಿಗೆ ಪುನಃಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ. ಈ ಎಲ್ಲಾ ಪ್ರಸ್ತುತ ಶೆಲ್ ಒಳಗೆ ಸಂಭವಿಸುತ್ತದೆ.

ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮೊಟ್ಟೆಯಿರಿಸದೆ ಶೆಲ್ ಆಂತರಿಕವಾಗಿ ಶೆಲ್ಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಇಲ್ಲದಿದ್ದರೆ, ಕಮಾಂಡ್ ಹೆಸರು ಒಂದು ಕ್ರಿಯೆ ಅಥವಾ ಬಿಲ್ಟ್ಇನ್ಗೆ ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ, ಆಜ್ಞೆಯನ್ನು ಫೈಲ್ಸಿಸ್ಟಮ್ನಲ್ಲಿನ ಸಾಮಾನ್ಯ ಕಾರ್ಯಕ್ರಮವಾಗಿ ಹುಡುಕಲಾಗುತ್ತದೆ (ಮುಂದಿನ ವಿಭಾಗದಲ್ಲಿ ವಿವರಿಸಿದಂತೆ). ಒಂದು ಸಾಮಾನ್ಯ ಕಾರ್ಯಕ್ರಮವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ, ಶೆಲ್ ಪ್ರೊಗ್ರಾಮ್ ಅನ್ನು ನಡೆಸುತ್ತದೆ, ವಾದಗಳನ್ನು ಮತ್ತು ಪರಿಸರವನ್ನು ಪ್ರೋಗ್ರಾಂಗೆ ಹಾದುಹೋಗುತ್ತದೆ. ಪ್ರೋಗ್ರಾಂ ಒಂದು ಸಾಮಾನ್ಯ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಆಗಿರದಿದ್ದರೆ (ಅಂದರೆ, " ASCII ಪ್ರಾತಿನಿಧ್ಯ" "ಮ್ಯಾಜಿಕ್ ಸಂಖ್ಯೆ" ಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸದಿದ್ದರೆ, ಆದ್ದರಿಂದ execve (2) Er ENOEXEC ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ) ಶೆಲ್ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಒಂದು ಸಬ್ಹೆಲ್. ಮಗು ಶೆಲ್ ಈ ಸಂದರ್ಭದಲ್ಲಿ ಸ್ವತಃ ಪುನಃ ಆರಂಭಗೊಳ್ಳುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಆಡ್-ಹಾಕ್ ಶೆಲ್ ಲಿಪಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಹೊಸ ಶೆಲ್ ಅನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ ಎಂದು ಪರಿಣಾಮವು ಇರುತ್ತದೆ, ಪೋಷಕ ಶೆಲ್ನಲ್ಲಿರುವ ಹ್ಯಾಶ್ಡ್ ಕಮಾಂಡ್ಗಳ ಸ್ಥಳವನ್ನು ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಳ್ಳುವುದನ್ನು ಹೊರತುಪಡಿಸಿ ಮಗು.

ಈ ಡಾಕ್ಯುಮೆಂಟ್ನ ಹಿಂದಿನ ಆವೃತ್ತಿಗಳು ಮತ್ತು ಮೂಲ ಕೋಡ್ ಸ್ವತಃ "ಶೆಲ್ ಪ್ರೊಸೀಜರ್" ನಂತಹ ಮಾಯಾ ಸಂಖ್ಯೆ ಇಲ್ಲದೆ ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ತಪ್ಪಾಗಿ ಮತ್ತು ವಿರಳವಾಗಿ ಉಲ್ಲೇಖಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ.

ಪಾತ್ ಹುಡುಕಾಟ

ಆಜ್ಞೆಯನ್ನು ಪತ್ತೆ ಮಾಡುವಾಗ, ಶೆಲ್ ಮೊದಲು ಆ ಹೆಸರಿನ ಶೆಲ್ ಕಾರ್ಯವನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು ನೋಡುತ್ತದೆ. ಆ ಹೆಸರಿನ ಒಂದು ಆಂತರಿಕ ಆಜ್ಞೆಯನ್ನು ಹುಡುಕುತ್ತದೆ. ಒಂದು ನಿರ್ಮಿತ ಆಜ್ಞೆಯು ಕಂಡುಬಂದಿಲ್ಲವಾದರೆ, ಎರಡು ವಿಷಯಗಳಲ್ಲಿ ಒಂದು ಸಂಭವಿಸುತ್ತದೆ:

  1. ಯಾವುದೇ ಹುಡುಕಾಟಗಳನ್ನು ನಿರ್ವಹಿಸದೆ ಸ್ಲ್ಯಾಷ್ ಹೊಂದಿರುವ ಕಮಾಂಡ್ ಹೆಸರುಗಳನ್ನು ಸರಳವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.
  2. ಶೆಲ್ ಪ್ರತಿ ಪ್ರವೇಶವನ್ನು PATH ನಲ್ಲಿ ಆಜ್ಞೆಗಾಗಿ ಹುಡುಕುತ್ತದೆ. PATH ವೇರಿಯಬಲ್ನ ಮೌಲ್ಯವು ಕೊಲೊನ್ಗಳಿಂದ ಬೇರ್ಪಡಿಸಲಾದ ನಮೂದುಗಳ ಸರಣಿಯಾಗಿರಬೇಕು. ಪ್ರತಿಯೊಂದು ನಮೂದು ಕೋಶದ ಹೆಸರನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಪ್ರಸಕ್ತ ಡೈರೆಕ್ಟರಿಯು ಖಾಲಿ ಕೋಶದ ಹೆಸರಿನ ಮೂಲಕ ಅಥವಾ ಒಂದೇ ಅವಧಿಗೆ ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸಲ್ಪಡುತ್ತದೆ.

ಕಮ್ಯಾಂಡ್ ಎಕ್ಸಿಟ್ ಸ್ಥಿತಿ

ಪ್ರತಿಯೊಂದು ಆಜ್ಞೆಯು ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಹೊಂದಿದೆ, ಇದು ಇತರ ಶೆಲ್ ಆಜ್ಞೆಗಳ ವರ್ತನೆಯನ್ನು ಪ್ರಭಾವಿಸುತ್ತದೆ. ಒಂದು ಆಜ್ಞೆಯು ಸಾಮಾನ್ಯ ಅಥವಾ ಯಶಸ್ಸಿಗೆ ಶೂನ್ಯದಿಂದ ನಿರ್ಗಮಿಸುತ್ತದೆ, ಮತ್ತು ವೈಫಲ್ಯ, ದೋಷ, ಅಥವಾ ಸುಳ್ಳು ಸೂಚನೆಗಳಿಗೆ ಶೂನ್ಯೇತರವಾಗಿರುತ್ತದೆ. ಪ್ರತಿ ಕಮಾಂಡ್ನ ಮ್ಯಾನ್ ಪುಟವು ವಿವಿಧ ನಿರ್ಗಮನ ಸಂಕೇತಗಳನ್ನು ಮತ್ತು ಅವುಗಳ ಅರ್ಥವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಎಕ್ಸಿಟ್ ಕೋಡ್ಗಳನ್ನು ಹಿಂದಿರುಗಿಸಿದ ಆದೇಶಗಳು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ಶೆಲ್ ಕಾರ್ಯನಿರ್ವಹಣೆಯನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ.

ಸಂಕೀರ್ಣ ಆದೇಶಗಳು

ಕಾಂಪ್ಲೆಕ್ಸ್ ಕಮಾಂಡ್ಗಳು ಕಂಟ್ರೋಲ್ ಆಪರೇಟರ್ಗಳು ಅಥವಾ ಕಾಯ್ದಿರಿಸಿದ ಪದಗಳೊಂದಿಗೆ ಸರಳ ಆಜ್ಞೆಗಳ ಸಂಯೋಜನೆಗಳಾಗಿವೆ, ಒಟ್ಟಾಗಿ ದೊಡ್ಡ ಸಂಕೀರ್ಣ ಆಜ್ಞೆಯನ್ನು ರಚಿಸುತ್ತವೆ. ಹೆಚ್ಚು ಸಾಮಾನ್ಯವಾಗಿ, ಆಜ್ಞೆಯು ಕೆಳಗಿನವುಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ:

  • ಸರಳ ಆಜ್ಞೆ
  • ಪೈಪ್ಲೈನ್
  • ಪಟ್ಟಿ ಅಥವಾ ಸಂಯುಕ್ತ-ಪಟ್ಟಿ
  • ಸಂಯುಕ್ತ ಆಜ್ಞೆ
  • ಕಾರ್ಯದ ವ್ಯಾಖ್ಯಾನ

ಇಲ್ಲದಿದ್ದರೆ ಹೇಳಿಕೆ ನೀಡದಿದ್ದಲ್ಲಿ, ಆದೇಶದ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯು ಆಜ್ಞೆಯಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ಕೊನೆಯ ಸರಳ ಆಜ್ಞೆಯೇ ಆಗಿದೆ.

ಪೈಪ್ಲೈನ್ಗಳು

ಪೈಪ್ಲೈನ್ ​​ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಆಜ್ಞೆಗಳನ್ನು ನಿಯಂತ್ರಣ ಆಯೋಜಕರು ಮೂಲಕ ಬೇರ್ಪಡಿಸಲಾಗಿರುತ್ತದೆ |. ಕೊನೆಯ ಆಜ್ಞೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಎಲ್ಲದರ ಪ್ರಮಾಣಿತ ಉತ್ಪಾದನೆಯು ಮುಂದಿನ ಆಜ್ಞೆಯ ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ಗೆ ಸಂಪರ್ಕಿತವಾಗಿದೆ. ಕೊನೆಯ ಕಮಾಂಡ್ನ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಔಟ್ಪುಟ್ ಎಂದಿನಂತೆ ಶೆಲ್ನಿಂದ ಆನುವಂಶಿಕವಾಗಿ ಇದೆ.

ಪೈಪ್ಲೈನ್ಗಾಗಿನ ಸ್ವರೂಪ:

[!] ಕಮಾಂಡ್ 1 [| ಕಮಾಂಡ್ 2 ...]

Command1 ನ ಪ್ರಮಾಣಿತ ಉತ್ಪಾದನೆಯು command2 ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ಗೆ ಸಂಪರ್ಕಿತವಾಗಿದೆ. ಆದೇಶದ ಭಾಗವಾಗಿರುವ ಪುನರ್ನಿರ್ದೇಶನ ನಿರ್ವಾಹಕರು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಯಾವುದೇ ಪುನರ್ನಿರ್ದೇಶನಕ್ಕೆ ಮುಂಚಿತವಾಗಿ ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಔಟ್ಪುಟ್, ಅಥವಾ ಕಮ್ಯಾಂಡ್ನ ಎರಡನ್ನೂ ಪೈಪ್ಲೈನ್ನಿಂದ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.

ಪೈಪ್ಲೈನ್ ​​ಹಿನ್ನಲೆಯಲ್ಲಿ ಇಲ್ಲದಿದ್ದರೆ (ನಂತರ ಚರ್ಚಿಸಲಾಗಿದೆ), ಎಲ್ಲಾ ಆಜ್ಞೆಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಶೆಲ್ ಕಾಯುತ್ತದೆ.

ಮೀಸಲಾದ ಪದವಿದ್ದರೆ! ಪೈಪ್ಲೈನ್ಗೆ ಮುಂಚಿತವಾಗಿಲ್ಲ, ಪೈಪ್ಲೈನ್ನಲ್ಲಿ ಸೂಚಿಸಲಾದ ಕೊನೆಯ ಆಜ್ಞೆಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿ ಎಕ್ಸಿಟ್ ಸ್ಥಿತಿಯಾಗಿದೆ. ಇಲ್ಲವಾದರೆ, ನಿರ್ಗಮನ ಸ್ಥಿತಿಯು ಕೊನೆಯ ಆಜ್ಞೆಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯ ತಾರ್ಕಿಕ ಅಲ್ಲ. ಅಂದರೆ, ಕೊನೆಯ ಆಜ್ಞೆಯು ಸೊನ್ನೆಗೆ ಮರಳಿದರೆ, ನಿರ್ಗಮನ ಸ್ಥಿತಿ 1 ಆಗಿದೆ; ಕೊನೆಯ ಆಜ್ಞೆಯು ಸೊನ್ನೆಗಿಂತ ಹೆಚ್ಚಿನದಾಗಿ ಹಿಂತಿರುಗಿದರೆ, ನಿರ್ಗಮನ ಸ್ಥಿತಿ ಶೂನ್ಯವಾಗಿರುತ್ತದೆ.

ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಇನ್ಪುಟ್ ಅಥವಾ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಔಟ್ಪುಟ್ ಅಥವಾ ಎರಡೂ ಪುನರ್ನಿರ್ದೇಶನ ಮೊದಲು ನಡೆಯುವ ಪೈಪ್ಲೈನ್ ​​ನಿಯೋಜನೆಯು ಪುನರ್ನಿರ್ದೇಶನದಿಂದ ಬದಲಾಯಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ:

$ command1 2> & 1 | command2

command2 ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ಗೆ ಪ್ರಮಾಣಿತ ಔಟ್ಪುಟ್ ಮತ್ತು ಕಮ್ಯಾಂಡ್ 1 ರ ಸಾಮಾನ್ಯ ದೋಷವನ್ನು ಎರಡೂ ಕಳುಹಿಸುತ್ತದೆ.

ಎ; ಅಥವಾ ಟರ್ಮಿನೇಟರ್ ಹಿಂದಿನ ಮತ್ತು ಆಂಡ್-ಪಟ್ಟಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ (ಮುಂದಿನ ವಿವರಿಸಲಾಗಿದೆ) ಅನುಕ್ರಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು; ಮುಂಚಿನ AND-OR- ಪಟ್ಟಿಯ ಅಸಮಕಾಲಿಕ ಮರಣದಂಡನೆ & ಕಾರಣವಾಗುತ್ತದೆ.

ಕೆಲವು ಇತರ ಚಿಪ್ಪುಗಳಂತಲ್ಲದೆ, ಪೈಪ್ಲೈನ್ನಲ್ಲಿನ ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆಯು ಪ್ರಚೋದಿಸುವ ಶೆಲ್ನ ಮಗುವಾಗಿದ್ದು (ಅದು ಶೆಲ್ ಬಿಲ್ಡಿನ್ ಆಗಿದ್ದರೆ, ಅದು ಪ್ರಸ್ತುತ ಶೆಲ್ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ - ಆದರೆ ಪರಿಸರದ ಮೇಲೆ ಯಾವುದೇ ಪರಿಣಾಮವು ನಾಶಗೊಳ್ಳುತ್ತದೆ).

ಹಿನ್ನೆಲೆ ಆಜ್ಞೆಗಳು -

ನಿಯಂತ್ರಣ ಆಪರೇಟರ್ ಆಂಪರ್ಸಾಂಡ್ (&) ನಿಂದ ಆದೇಶವನ್ನು ಕೊನೆಗೊಳಿಸಿದಲ್ಲಿ, ಶೆಲ್ ಅಸಮಕಾಲಿಕವಾಗಿ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ - ಅಂದರೆ, ಮುಂದಿನ ಕಮಾಂಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೊದಲು ಆಜ್ಞೆಯು ಕಾಯುವವರೆಗೆ ಕಾಯುವುದಿಲ್ಲ.

ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ನಡೆಸುವ ಸ್ವರೂಪ:

command1 & [ಆದೇಶ 2 & ...]

ಶೆಲ್ ಸಂವಾದಾತ್ಮಕವಾಗಿಲ್ಲದಿದ್ದರೆ, ಅಸಮಕಾಲಿಕ ಆಜ್ಞೆಯ ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ ಅನ್ನು / dev / null ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ

ಪಟ್ಟಿಗಳು - ಸಾಮಾನ್ಯವಾಗಿ ಮಾತನಾಡುವುದು

ಹೊಸ ಪಟ್ಟಿಗಳು, ಅರ್ಧವಿರಾಮ ಚಿಹ್ನೆಗಳು, ಅಥವಾ ampersands ಮೂಲಕ ಬೇರ್ಪಡಿಸಿದ ಶೂನ್ಯ ಅಥವಾ ಹೆಚ್ಚಿನ ಆಜ್ಞೆಗಳ ಒಂದು ಅನುಕ್ರಮವಾಗಿದೆ ಮತ್ತು ಐಚ್ಛಿಕವಾಗಿ ಈ ಮೂರು ಅಕ್ಷರಗಳಲ್ಲಿ ಒಂದರಿಂದ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. ಪಟ್ಟಿಯಲ್ಲಿ ಬರೆಯಲಾದ ಆಜ್ಞೆಗಳನ್ನು ಅವರು ಬರೆಯುವ ಕ್ರಮದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಒಂದು ಆಂಪಾರ್ಡ್ಯಾಂಡ್ ಆದೇಶವನ್ನು ಅನುಸರಿಸಿದರೆ, ಶೆಲ್ ಆಜ್ಞೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ಮುಂದಿನ ಆಜ್ಞೆಯನ್ನು ಮುಂದುವರಿಯುತ್ತದೆ; ಇಲ್ಲದಿದ್ದರೆ ಅದು ಮುಂದಿನದಕ್ಕೆ ಮುಂದುವರಿಯುವ ಮೊದಲು ಕೊನೆಗೊಳ್ಳುವ ಆಜ್ಞೆಯನ್ನು ಕಾಯುತ್ತದೆ.

ಶಾರ್ಟ್-ಸರ್ಕ್ಯೂಟ್ ಲಿಸ್ಟ್ ಆಪರೇಟರ್ಸ್

`` ಮತ್ತು& '' ಮತ್ತು `` || '' ಮತ್ತು -ಒಂದು ಪಟ್ಟಿ ನಿರ್ವಾಹಕರು. `` ಮತ್ತು '' 'ಮೊದಲ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ, ಮತ್ತು ನಂತರ ಎರಡನೇ ಆಜ್ಞೆಯನ್ನು ಎಫ್ಎಫ್ ನಿರ್ವಹಿಸುತ್ತದೆ ಮೊದಲ ಆಜ್ಞೆಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿ ಶೂನ್ಯವಾಗಿರುತ್ತದೆ. `` || '' ಒಂದೇ ರೀತಿಯದ್ದಾಗಿದೆ, ಆದರೆ ಮೊದಲ ಆಜ್ಞೆಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಅನಿಯಮಿತವಾಗಿದ್ದರೆ ಎರಡನೇ ಆದೇಶವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. `` ಮತ್ತು& '' ಮತ್ತು `` || '' ಎರಡೂ ಒಂದೇ ಆದ್ಯತೆಯನ್ನು ಹೊಂದಿವೆ.

ಫ್ಲೋ ಕಂಟ್ರೋಲ್ ಕನ್ಸ್ಟ್ರಕ್ಟ್ಸ್ - ವೇಳೆ, ಸಂದರ್ಭದಲ್ಲಿ, ಸಂದರ್ಭದಲ್ಲಿ

ಕಮಾಂಡ್ ವೇಳೆ ಸಿಂಟಾಕ್ಸ್

ಪಟ್ಟಿ ಇದ್ದರೆ
ನಂತರ ಪಟ್ಟಿ ಮಾಡಿ
[elif ಪಟ್ಟಿ
ನಂತರ ಪಟ್ಟಿ ಮಾಡಿ ...
[ಬೇರೆ ಪಟ್ಟಿ]
fi

ಆಜ್ಞೆಯ ಸಿಂಟ್ಯಾಕ್ಸ್ ಆಗಿದೆ

ಪಟ್ಟಿ ಮಾಡುವಾಗ
ಪಟ್ಟಿ ಮಾಡಿ
ಮಾಡಲಾಗುತ್ತದೆ

ಮೊದಲ ಪಟ್ಟಿಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯು ಶೂನ್ಯವಾಗಿದ್ದರೆ ಎರಡು ಪಟ್ಟಿಗಳನ್ನು ಪುನರಾವರ್ತಿಸಲಾಗುತ್ತದೆ. ಆಜ್ಞೆಯು ಒಂದೇ ರೀತಿಯದ್ದಾಗಿರುತ್ತದೆ, ಆದರೆ ಅದೇ ಸಮಯದವರೆಗೂ ಪದವನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಇದು ಮೊದಲ ಪಟ್ಟಿಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯು ಶೂನ್ಯವಾಗುವುದರಿಂದ ಪುನರಾವರ್ತಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ.

ಆಜ್ಞೆಯ ಸಿಂಟ್ಯಾಕ್ಸ್ ಆಗಿದೆ

ಪದದಲ್ಲಿ ವೇರಿಯೇಬಲ್ಗಾಗಿ ...
ಪಟ್ಟಿ ಮಾಡಿ
ಮಾಡಲಾಗುತ್ತದೆ

ಈ ಪದಗಳು ವಿಸ್ತರಿಸಲ್ಪಟ್ಟಿವೆ, ಮತ್ತು ನಂತರ ಪ್ರತಿ ಪದಕ್ಕೆ ವೇರಿಯೇಬಲ್ ಸೆಟ್ನೊಂದಿಗೆ ಪಟ್ಟಿಯು ಪುನರಾವರ್ತಿತವಾಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ. ಮಾಡಬೇಕಾದದ್ದು ಮತ್ತು ಅದನ್ನು `` {'' ಮತ್ತು `` `'}' '

ವಿರಾಮದ ಸಿಂಟ್ಯಾಕ್ಸ್ ಮತ್ತು ಮುಂದುವರೆಯುವ ಆಜ್ಞೆಯು

ಮುರಿಯಲು [ಸಂಖ್ಯೆ]
ಮುಂದುವರಿಯಿರಿ [num]

ವಿರಾಮದ ಸಮಯದಲ್ಲಿ ಅಥವಾ ಸುತ್ತುಗಳ ನಡುವಿನ ಅಂತರವನ್ನು ಅಂತ್ಯಗೊಳಿಸುತ್ತದೆ. ಆಂತರಿಕ ಲೂಪ್ನ ಮುಂದಿನ ಪುನರಾವರ್ತನೆಯೊಂದಿಗೆ ಮುಂದುವರಿಯಿರಿ. ಇವುಗಳು ಅಂತರ್ನಿರ್ಮಿತ ಕಮಾಂಡ್ಗಳಾಗಿ ಕಾರ್ಯರೂಪಕ್ಕೆ ಬಂದಿವೆ.

ಪ್ರಕರಣ ಆಜ್ಞೆಯ ಸಿಂಟ್ಯಾಕ್ಸ್ ಆಗಿದೆ

ಸೈನ್ ಪದ
ನಮೂನೆ) ಪಟ್ಟಿ;
...
ಎಸ್ಸಾಕ್

ಈ ನಮೂನೆಯು ವಾಸ್ತವವಾಗಿ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಮಾದರಿಗಳನ್ನು ಹೊಂದಿರಬಹುದು (ಶೆಲ್ ಪ್ಯಾಟರ್ನ್ಸ್ ನಂತರ ವಿವರಿಸಲಾಗಿದೆ), `` 'ಅಕ್ಷರಗಳಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ.

ಗುಂಪನ್ನು ಕಮಾಂಡ್ಸ್ ಟುಗೆದರ್

ಆದೇಶಗಳನ್ನು ಬರೆಯುವ ಮೂಲಕ ವರ್ಗೀಕರಿಸಬಹುದು

(ಪಟ್ಟಿ)

ಅಥವಾ

{ ಪಟ್ಟಿ;

ಇವುಗಳಲ್ಲಿ ಮೊದಲನೆಯದು ಸಬ್ಹೆಲ್ಲ್ನಲ್ಲಿ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಬಿಲ್ಟ್ಇನ್ ಆಜ್ಞೆಗಳನ್ನು ಒಂದು (ಪಟ್ಟಿ) ಗೆ ವರ್ಗೀಕರಿಸಲಾಗುತ್ತದೆ ಪ್ರಸ್ತುತ ಶೆಲ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ. ಎರಡನೇ ರೂಪವು ಇನ್ನೊಂದು ಶೆಲ್ ಅನ್ನು ಮುಂದೂಡುವುದಿಲ್ಲ ಆದ್ದರಿಂದ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ. ಗ್ರೂಪಿಂಗ್ ಆಜ್ಞೆಗಳು ಈ ರೀತಿಯಾಗಿ ಒಟ್ಟಾಗಿ ತಮ್ಮ ಔಟ್ ಪುಟ್ ಅನ್ನು ಒಂದು ಪ್ರೋಗ್ರಾಂ ಎಂದು ಮರುನಿರ್ದೇಶಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ:

{printf hello; printf world \ n ";}> ಶುಭಾಶಯ

ಕಾರ್ಯಗಳು

ಕಾರ್ಯದ ವ್ಯಾಖ್ಯಾನದ ಸಿಂಟ್ಯಾಕ್ಸ್ ಆಗಿದೆ

ಹೆಸರು () ಆದೇಶ

ಒಂದು ಫಂಕ್ಷನ್ ಡೆಫಿನಿಷನ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಹೇಳಿಕೆಯಾಗಿದೆ; ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ ಇದು ಹೆಸರಿನ ಕಾರ್ಯವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ ಮತ್ತು ಶೂನ್ಯದ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಆಜ್ಞೆಯು ಸಾಮಾನ್ಯವಾಗಿ `` 'ಮತ್ತು' `` 'ನಡುವಿನ ಸುತ್ತುವರೆದಿರುವ ಒಂದು ಪಟ್ಟಿಯಾಗಿದೆ.

ಸ್ಥಳೀಯ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಒಂದು ಕಾರ್ಯಕ್ಕೆ ಸ್ಥಳಾಂತರಗೊಳ್ಳುವಷ್ಟು ವ್ಯತ್ಯಾಸಗಳನ್ನು ಘೋಷಿಸಬಹುದು. ಇದು ಕಾರ್ಯದ ಮೊದಲ ಹೇಳಿಕೆಯಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಸಿಂಟ್ಯಾಕ್ಸ್ ಆಗಿದೆ

ಸ್ಥಳೀಯ [ವೇರಿಯಬಲ್ | -] ...

ಸ್ಥಳೀಯವನ್ನು ಒಂದು ಅಂತರ್ನಿರ್ಮಿತ ಆಜ್ಞೆಯನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ.

ವೇರಿಯೇಬಲ್ ಅನ್ನು ಸ್ಥಳೀಯವಾಗಿ ತಯಾರಿಸಿದಾಗ, ಅದು ಆರಂಭಿಕ ಮೌಲ್ಯವನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಸುತ್ತಮುತ್ತಲಿನ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಒಂದೇ ಹೆಸರಿನೊಂದಿಗೆ ವೇರಿಯೇಬಲ್ನಿಂದ ರಫ್ತು ಮಾಡಲ್ಪಟ್ಟ ಫ್ಲಾಗ್ಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿದೆ. ಇಲ್ಲದಿದ್ದರೆ, ವೇರಿಯೇಬಲ್ ಅನ್ನು ಆರಂಭದಲ್ಲಿ ಹೊಂದಿಸಲಾಗಿಲ್ಲ. ಶೆಲ್ ಡೈನಾಮಿಕ್ ಸ್ಕೋಪಿಂಗ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ವೇರಿಯೇಬಲ್ X ಸ್ಥಳೀಯವನ್ನು f ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದರೆ, ಅದು g ಕ್ರಿಯೆಯನ್ನು ಕರೆ ಮಾಡಿದಾಗ, g ಒಳಗೆ ಮಾಡಿದ ವೇರಿಯೇಬಲ್ X ಗೆ ಉಲ್ಲೇಖಗಳು ವೇರಿಯಬಲ್ x ಅನ್ನು F ಒಳಗೆ ಘೋಷಿಸುತ್ತದೆ, ಆದರೆ ಜಾಗತಿಕ ವೇರಿಯೇಬಲ್ x ಗೆ .

ಸ್ಥಳೀಯವಾಗಿ ಮಾಡಬಹುದಾದಂತಹ ವಿಶೇಷ ನಿಯತಾಂಕವು `` - '' ಮಾಡುವುದು `` - '' ಸ್ಥಳೀಯ ಕಾರ್ಯವು ಯಾವುದೇ ಮೂಲದ ಮೌಲ್ಯಗಳನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲು ಕ್ರಿಯೆಯೊಳಗೆ ಸೆಟ್ ಆಜ್ಞೆಯ ಮೂಲಕ ಬದಲಾಯಿಸಲ್ಪಡುತ್ತದೆ.

ರಿಟರ್ನ್ ಆಜ್ಞೆಯ ಸಿಂಟ್ಯಾಕ್ಸ್ ಆಗಿದೆ

ಮರಳಿ [ನಿರ್ಗಮನ

ಇದು ಪ್ರಸ್ತುತ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕಾರ್ಯವನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ. ರಿಟರ್ನ್ ಅನ್ನು ಒಂದು ಬಿಲ್ಟ್ಇನ್ ಕಮಾಂಡ್ ಆಗಿ ಅಳವಡಿಸಲಾಗಿದೆ.

ಅಸ್ಥಿರ ಮತ್ತು ನಿಯತಾಂಕಗಳು

ಶೆಲ್ ನಿಯತಾಂಕಗಳನ್ನು ಒಂದು ಸೆಟ್ ನಿರ್ವಹಿಸುತ್ತದೆ. ಹೆಸರಿನಿಂದ ಸೂಚಿಸಲಾದ ಒಂದು ನಿಯತಾಂಕವನ್ನು ವೇರಿಯೇಬಲ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಪ್ರಾರಂಭವಾಗುವಾಗ, ಶೆಲ್ ಎಲ್ಲ ಪರಿಸರ ಚರಾಂಕಗಳನ್ನು ಶೆಲ್ ಅಸ್ಥಿರಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಫಾರ್ಮ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಹೊಸ ಅಸ್ಥಿರಗಳನ್ನು ಹೊಂದಿಸಬಹುದು

ಹೆಸರು = ಮೌಲ್ಯ

ಬಳಕೆದಾರರಿಂದ ಹೊಂದಿಸಲಾದ ವೇರಿಯೇಬಲ್ಗಳು ಕೇವಲ ವರ್ಣಮಾಲೆಗಳು, ಸಂಖ್ಯಾಶಾಸ್ತ್ರ ಮತ್ತು ಅಂಡರ್ಸ್ಕೋರ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಹೆಸರನ್ನು ಹೊಂದಿರಬೇಕು - ಅದರಲ್ಲಿ ಮೊದಲನೆಯದು ಸಂಖ್ಯಾ ಆಗಿರಬಾರದು. ಕೆಳಗೆ ವಿವರಿಸಿದಂತೆ ಒಂದು ಸಂಖ್ಯೆಯ ಅಥವಾ ವಿಶೇಷ ಪಾತ್ರದಿಂದ ಒಂದು ನಿಯತಾಂಕವನ್ನು ಸೂಚಿಸಬಹುದು.

ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳು

ಸ್ಥಾನಿಕ ನಿಯತಾಂಕವು ಒಂದು ಸಂಖ್ಯೆ (n> 0) ಸೂಚಿಸುವ ಒಂದು ನಿಯತಾಂಕವಾಗಿದೆ. ಶೆಲ್ ಅನ್ನು ಮೊದಲಿಗೆ ಅದರ ಆಜ್ಞಾ ಸಾಲಿನ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳ ಮೌಲ್ಯಗಳಿಗೆ ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ನ ಹೆಸರನ್ನು ಅನುಸರಿಸುತ್ತದೆ. ಸೆಟ್ (1) ನಿರ್ಮಿಸಿದ ಸಹ ಅವುಗಳನ್ನು ಹೊಂದಿಸಲು ಅಥವಾ ಮರುಹೊಂದಿಸಲು ಬಳಸಬಹುದು.

ವಿಶೇಷ ನಿಯತಾಂಕಗಳು

ವಿಶೇಷ ನಿಯತಾಂಕವು ಕೆಳಗಿನ ವಿಶೇಷ ಅಕ್ಷರಗಳಲ್ಲಿ ಒಂದರಿಂದ ಸೂಚಿಸಲಾದ ನಿಯತಾಂಕವಾಗಿದೆ. ಪ್ಯಾರಾಮೀಟರ್ನ ಮೌಲ್ಯವನ್ನು ಅದರ ಪಾತ್ರದ ಪಕ್ಕದಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ.

*

ಒಂದರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳಿಗೆ ವಿಸ್ತರಿಸುತ್ತದೆ. ಡಬಲ್-ಕೋಟೆಡ್ ಸ್ಟ್ರಿಂಗ್ನಲ್ಲಿ ವಿಸ್ತರಣೆ ಸಂಭವಿಸಿದಾಗ ಅದು ಐಎಫ್ಎಸ್ ವೇರಿಯೇಬಲ್ನ ಮೊದಲ ಅಕ್ಷರದಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿರುವ ಪ್ರತಿ ಪ್ಯಾರಾಮೀಟರ್ನ ಮೌಲ್ಯದೊಂದಿಗೆ ಒಂದೇ ಕ್ಷೇತ್ರಕ್ಕೆ ವಿಸ್ತರಿಸುತ್ತದೆ ಅಥವಾ ಐಎಫ್ಎಸ್ ಅನ್ನು ಹೊಂದಿಸದೆ ಇದ್ದಲ್ಲಿ .

@

ಒಂದರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳಿಗೆ ವಿಸ್ತರಿಸುತ್ತದೆ. ವಿಸ್ತರಣೆಯು ಡಬಲ್-ಕೋಟ್ಗಳ ಒಳಗೆ ಸಂಭವಿಸಿದಾಗ, ಪ್ರತಿ ಸ್ಥಾನಾತ್ಮಕ ಪ್ಯಾರಾಮೀಟರ್ ಪ್ರತ್ಯೇಕ ಆರ್ಗ್ಯುಮೆಂಟ್ನಂತೆ ವಿಸ್ತರಿಸುತ್ತದೆ. ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳು ಇಲ್ಲದಿದ್ದರೆ, @ ರ ವಿಸ್ತರಣೆಯು @ ಶೂನ್ಯವಾದ ವಾದಗಳನ್ನು ಸಹ ಉಂಟುಮಾಡುತ್ತದೆ, @ ಡಬಲ್-ಕೋಟ್ ಮಾಡಿದಾಗ. ಉದಾಹರಣೆಗೆ, $ 1 ಎಂದರೆ ಎಬಿಸಿ ಮತ್ತು $ 2 ಎಂದರೆ "ಡೆಫ್ ಗಿ" ಮತ್ತು ನಂತರ Qq $ @ ಎರಡು ವಾದಗಳಿಗೆ ವಿಸ್ತರಿಸಿದರೆ ಇದರ ಅರ್ಥ ಏನು?

ಎಬಿಸಿ ಡೆಫ್ ಗಿ

#

ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳ ಸಂಖ್ಯೆಯನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ.

?

ಇತ್ತೀಚಿನ ಪೈಪ್ಲೈನ್ ​​ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ.

- (ಹೈಫನ್.)

ಆಮಂತ್ರಣದಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಂತೆ, ಸೆಟ್ ನಿರ್ಮಿಸಿದ ಆಜ್ಞೆಯಿಂದ ಅಥವಾ ಶೆಲ್ನಿಂದ ಸೂಚ್ಯವಾಗಿ ಪ್ರಸ್ತುತ ಆಯ್ಕೆ ಫ್ಲ್ಯಾಗ್ಗಳಿಗೆ (ಏಕ-ಅಕ್ಷರದ ಆಯ್ಕೆಯ ಹೆಸರುಗಳು ಸ್ಟ್ರಿಂಗ್ನಲ್ಲಿ ಸಂಯೋಜಿತವಾಗುತ್ತವೆ) ವಿಸ್ತರಿಸುತ್ತದೆ.

$

ಆಮಂತ್ರಿಸಿದ ಶೆಲ್ ಪ್ರಕ್ರಿಯೆ ID ಗೆ ವಿಸ್ತರಿಸುತ್ತದೆ. ಒಂದು ಸಬ್ಹೆಲ್ ಅದರ ಪೋಷಕರಾಗಿ $ ನ ಅದೇ ಮೌಲ್ಯವನ್ನು ಉಳಿಸಿಕೊಂಡಿದೆ.

!

ಪ್ರಸ್ತುತ ಶೆಲ್ನಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ಇತ್ತೀಚಿನ ಹಿನ್ನೆಲೆ ಆಜ್ಞೆಯ ಪ್ರಕ್ರಿಯೆ ID ಗೆ ವಿಸ್ತರಿಸುತ್ತದೆ. ಪೈಪ್ಲೈನ್ಗಾಗಿ, ಪೈಪ್ಲೈನ್ನಲ್ಲಿ ಕೊನೆಯ ಆಜ್ಞೆಯ ಪ್ರಕ್ರಿಯೆ ಐಡಿ ಆಗಿದೆ.

0 (ಶೂನ್ಯ.)

ಶೆಲ್ ಅಥವಾ ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ನ ಹೆಸರನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ.

ಪದ ವಿಸ್ತರಣೆಗಳು

ಪದಗಳ ಮೇಲೆ ನಡೆಸಲಾಗುವ ವಿವಿಧ ವಿಸ್ತರಣೆಗಳನ್ನು ಈ ಷರತ್ತು ವಿವರಿಸುತ್ತದೆ. ನಂತರ ವಿವರಿಸಿದಂತೆ, ಎಲ್ಲಾ ಪದಗಳಲ್ಲೂ ಎಲ್ಲಾ ವಿಸ್ತರಣೆಗಳನ್ನು ನಡೆಸಲಾಗುವುದಿಲ್ಲ.

ಟಿಲ್ಡೆ ವಿಸ್ತರಣೆಗಳು, ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಗಳು, ಆದೇಶ ಪರ್ಯಾಯಗಳು, ಅಂಕಗಣಿತದ ವಿಸ್ತರಣೆಗಳು, ಮತ್ತು ಒಂದೇ ಪದದೊಳಗೆ ಉಂಟಾಗುವ ಉಲ್ಲೇಖ ತೆಗೆಯುವಿಕೆಗಳು ಒಂದೇ ಕ್ಷೇತ್ರಕ್ಕೆ ವಿಸ್ತರಿಸುತ್ತವೆ. ಒಂದೇ ಕ್ಷೇತ್ರದಿಂದ ಬಹು ಕ್ಷೇತ್ರಗಳನ್ನು ರಚಿಸುವ ಕ್ಷೇತ್ರ ವಿಭಜನೆ ಅಥವಾ ಪಥನಾಮ ವಿಸ್ತರಣೆ ಮಾತ್ರ ಇದು. ಈ ನಿಯಮಕ್ಕೆ ಏಕೈಕ ಎಕ್ಸೆಪ್ಶನ್ ಡಬಲ್-ಕೋಟ್ಸ್ ಒಳಗೆ ವಿಶೇಷ ಪ್ಯಾರಾಮೀಟರ್ @ ವಿಸ್ತರಣೆಯಾಗಿದೆ, ಮೇಲೆ ವಿವರಿಸಿದಂತೆ.

ಪದ ವಿಸ್ತರಣೆಯ ಕ್ರಮವು:

  1. ಟಿಲ್ಡ್ ವಿಸ್ತರಣೆ, ನಿಯತಾಂಕ ವಿಸ್ತರಣೆ, ಕಮಾಂಡ್ ಬದಲಿ, ಅಂಕಗಣಿತದ ವಿಸ್ತರಣೆ (ಇವುಗಳು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಸಂಭವಿಸುತ್ತವೆ).
  2. IFS ವೇರಿಯಬಲ್ ಶೂನ್ಯ ಹೊರತು ಹಂತ (1) ರಚಿತವಾದ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಕ್ಷೇತ್ರ ವಿಭಜನೆ ನಡೆಸಲಾಗುತ್ತದೆ.
  3. ಪಾತ್ನಾಮೇಮ್ ವಿಸ್ತರಣೆ (ಸೆಟ್ - ಎಫ್ ಪರಿಣಾಮಕಾರಿಯಾಗಿದ್ದಲ್ಲಿ).
  4. ಉದ್ಧರಣ ತೆಗೆಯುವಿಕೆ.

$ ಅಕ್ಷರವನ್ನು ವಿಸ್ತರಣೆಯ ನಿಯತಾಂಕ, ಆಜ್ಞೆಯನ್ನು ಬದಲಿ, ಅಥವಾ ಅಂಕಗಣಿತ ಮೌಲ್ಯಮಾಪನವನ್ನು ಪರಿಚಯಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.

ಟಿಲ್ಡ್ ವಿಸ್ತರಣೆ (ಬಳಕೆದಾರರ ಮನೆ ಕೋಶವನ್ನು ಬದಲಿಸುವುದು)

Unquoted tilde ಪಾತ್ರದೊಂದಿಗೆ (~) ಪ್ರಾರಂಭವಾಗುವ ಪದವು ಟಿಲ್ಡ್ ವಿಸ್ತರಣೆಯ ಒಳಗಾಗುತ್ತದೆ. ಒಂದು ಸ್ಲಾಶ್ (/) ಅಥವಾ ಪದದ ಅಂತ್ಯದವರೆಗಿನ ಎಲ್ಲಾ ಅಕ್ಷರಗಳನ್ನು ಬಳಕೆದಾರಹೆಸರು ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಬಳಕೆದಾರರ ಹೋಮ್ ಡೈರೆಕ್ಟರಿಯೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ. ಬಳಕೆದಾರ ಹೆಸರು ಕಳೆದು ಹೋದಲ್ಲಿ (~ / ಫೂಬಾರ್ನಲ್ಲಿರುವಂತೆ) ಟಿಲ್ಡೆವನ್ನು ಹೋಮ್ ವೇರಿಯೇಬಲ್ (ಪ್ರಸ್ತುತ ಬಳಕೆದಾರರ ಹೋಮ್ ಡೈರೆಕ್ಟರಿ) ಮೌಲ್ಯದೊಂದಿಗೆ ಬದಲಿಸಲಾಗುತ್ತದೆ.

ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆ

ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಯ ಸ್ವರೂಪವು ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:

ಹೊಂದಾಣಿಕೆಯಾಗುವ `` `` ಯಾವುದೇ `` `'' 'ಬ್ಯಾಕ್ ಸ್ಲ್ಯಾಷ್ನಿಂದ ಅಥವಾ ಕೋಟೆಡ್ ಸ್ಟ್ರಿಂಗ್ನೊಳಗೆ ತಪ್ಪಿಸಲಾಗಿರುತ್ತದೆ ಮತ್ತು ಎಂಬೆಡ್ ಮಾಡಿದ ಅಂಕಗಣಿತದ ವಿಸ್ತರಣೆಗಳು, ಕಮಾಂಡ್ ಬದಲಿಗಳು ಮತ್ತು ವೇರಿಯಬಲ್ ವಿಸ್ತರಣೆಗಳಲ್ಲಿನ ಪಾತ್ರಗಳು, ಹೊಂದಾಣಿಕೆಯ `` `} '' '' '

ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಗೆ ಸರಳವಾದ ರೂಪವೆಂದರೆ:

ಮೌಲ್ಯ, ಯಾವುದೇ ವೇಳೆ, ನಿಯತಾಂಕವನ್ನು ಬದಲಿಸಲಾಗಿದೆ.

ನಿಯತಾಂಕದ ಹೆಸರು ಅಥವಾ ಚಿಹ್ನೆಯನ್ನು ಬ್ರೇಸ್ಗಳಲ್ಲಿ ಸುತ್ತುವರೆಯಬಹುದು, ಇದು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಅಂಕಿಯ ಜೊತೆ ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳನ್ನು ಹೊರತುಪಡಿಸಿ ಐಚ್ಛಿಕವಾಗಿರುತ್ತದೆ ಅಥವಾ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಹೆಸರಿನ ಭಾಗವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸುವಂತಹ ಒಂದು ಅಕ್ಷರವನ್ನು ಅನುಸರಿಸಿದಾಗ. ಒಂದು ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಯು ಡಬಲ್-ಕೋಟ್ಸ್ ಒಳಗೆ ಕಂಡುಬಂದರೆ:

  1. ವಿಸ್ತರಣೆಯ ಫಲಿತಾಂಶಗಳಲ್ಲಿ ಪಾತ್ನಾಮೇಮ್ ವಿಸ್ತರಣೆಯನ್ನು ನಿರ್ವಹಿಸುವುದಿಲ್ಲ.
  2. ಕ್ಷೇತ್ರದ ವಿಭಜನೆಯು ವಿಸ್ತರಣೆಯ ಫಲಿತಾಂಶಗಳಲ್ಲಿ @ ಹೊರತುಪಡಿಸಿ, ನಿರ್ವಹಿಸಲ್ಪಡುವುದಿಲ್ಲ.

ಇದರ ಜೊತೆಗೆ, ಈ ಕೆಳಗಿನ ಸ್ವರೂಪಗಳಲ್ಲಿ ಒಂದನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಯನ್ನು ಮಾರ್ಪಡಿಸಬಹುದು.

ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸಿ. ನಿಯತಾಂಕವು ಹೊಂದಿಸದಿದ್ದರೆ ಅಥವಾ ಶೂನ್ಯವಾಗಿದ್ದರೆ, ಪದದ ವಿಸ್ತರಣೆಯನ್ನು ಬದಲಿಸಲಾಗುತ್ತದೆ; ಇಲ್ಲದಿದ್ದರೆ, ನಿಯತಾಂಕದ ಮೌಲ್ಯವನ್ನು ಬದಲಿಸಲಾಗುತ್ತದೆ.

ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳನ್ನು ನಿಗದಿಪಡಿಸಿ. ನಿಯತಾಂಕವನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ ಅಥವಾ ಶೂನ್ಯವಾಗಿದ್ದರೆ, ಪದದ ವಿಸ್ತರಣೆಯನ್ನು ನಿಯತಾಂಕಕ್ಕೆ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ. ಎಲ್ಲಾ ಸಂದರ್ಭಗಳಲ್ಲಿ, ನಿಯತಾಂಕದ ಅಂತಿಮ ಮೌಲ್ಯವನ್ನು ಬದಲಿಸಲಾಗುತ್ತದೆ. ಕೇವಲ ಅಸ್ಥಿರ, ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳು ಅಥವಾ ವಿಶೇಷ ನಿಯತಾಂಕಗಳನ್ನು ಮಾತ್ರ ಈ ರೀತಿಯಲ್ಲಿ ನಿಯೋಜಿಸಬಹುದು.

ಶೂನ್ಯ ಅಥವಾ ಹೊಂದಿಸದಿದ್ದಲ್ಲಿ ಸೂಚಿಸು ದೋಷ. ನಿಯತಾಂಕವು ಹೊಂದಿಸದಿದ್ದರೆ ಅಥವಾ ಶೂನ್ಯವಾಗಿದ್ದರೆ, ಪದದ ವಿಸ್ತರಣೆ (ಅಥವಾ ಪದವನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟರೆ ಅದನ್ನು ಸೂಚಿಸುವ ಸಂದೇಶವನ್ನು ಹೊಂದಿಸಲಾಗುವುದಿಲ್ಲ) ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಎರರ್ ಗೆ ಬರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಶೂನ್ಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯೊಂದಿಗೆ ಶೆಲ್ ನಿರ್ಗಮಿಸುತ್ತದೆ. ಇಲ್ಲದಿದ್ದರೆ, ನಿಯತಾಂಕದ ಮೌಲ್ಯವನ್ನು ಬದಲಿಸಲಾಗುತ್ತದೆ. ಸಂವಾದಾತ್ಮಕ ಶೆಲ್ ನಿರ್ಗಮಿಸಬೇಕಾಗಿಲ್ಲ.

ಪರ್ಯಾಯ ಮೌಲ್ಯವನ್ನು ಬಳಸಿ. ನಿಯತಾಂಕವು ಹೊಂದಿಸದಿದ್ದರೆ ಅಥವಾ ಶೂನ್ಯವಾಗಿದ್ದರೆ, ಶೂನ್ಯವನ್ನು ಬದಲಿಸಲಾಗುತ್ತದೆ; ಇಲ್ಲವಾದರೆ, ಪದದ ವಿಸ್ತರಣೆಯು ಬದಲಿಯಾಗಿರುತ್ತದೆ.

ಹಿಂದೆ ತೋರಿಸಿದ ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಗಳಲ್ಲಿ, ಸ್ವರೂಪದಲ್ಲಿ ಕೊಲೊನ್ ಅನ್ನು ಉಪಯೋಗಿಸದಿದ್ದರೆ ಅಥವಾ ಹೊಂದಿಸದ ಪ್ಯಾರಾಮೀಟರ್ನ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಫಲಿತಾಂಶವಾಗುತ್ತದೆ; ಕೊಲೊನ್ನ ಲೋಪವು ಕೇವಲ ಹೊಂದಿಸದ ಪ್ಯಾರಾಮೀಟರ್ಗಾಗಿ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ.

ಸ್ಟ್ರಿಂಗ್ ಉದ್ದ. ಪ್ಯಾರಾಮೀಟರ್ನ ಮೌಲ್ಯದ ಅಕ್ಷರಗಳ ಉದ್ದ.

ಕೆಳಗಿನ ನಾಲ್ಕು ಪ್ರಕಾರದ ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಯು ಸಬ್ಸ್ಟ್ರಿಂಗ್ ಪ್ರಕ್ರಿಯೆಗೆ ನೆರವಾಗುತ್ತದೆ. ಪ್ರತಿ ಸಂದರ್ಭದಲ್ಲಿ, ಕ್ರಮಬದ್ಧ ಹೊಂದಾಣಿಕೆಯ ಸಂಕೇತನವನ್ನು (ಶೆಲ್ ಪ್ಯಾಟರ್ನ್ಸ್ ನೋಡಿ) ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಸಂಕೇತನಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ, ಮಾದರಿಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ಪ್ಯಾರಾಮೀಟರ್ * ಅಥವಾ @ ಆಗಿದ್ದರೆ, ವಿಸ್ತರಣೆಯ ಫಲಿತಾಂಶ ಅನಿರ್ದಿಷ್ಟವಾಗಿದೆ. ಸಂಪೂರ್ಣ ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣಾ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಡಬಲ್-ಕೋಟ್ಸ್ನಲ್ಲಿ ಸೇರಿಸುವುದರಿಂದ ಕೆಳಗಿನ ನಾಲ್ಕು ವಿಧದ ನಮೂನೆಯ ಅಕ್ಷರಗಳನ್ನು ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ, ಆದರೆ ಕಟ್ಟುಪಟ್ಟಿಯೊಳಗಿನ ಅಕ್ಷರಗಳನ್ನು ಉಲ್ಲೇಖಿಸಿ ಈ ಪರಿಣಾಮವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.

ಚಿಕ್ಕ ಸಫಿಕ್ಸ್ ಪ್ಯಾಟರ್ನ್ ತೆಗೆದುಹಾಕಿ. ಒಂದು ಮಾದರಿಯನ್ನು ಉತ್ಪತ್ತಿ ಮಾಡಲು ಪದವನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ. ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಯು ನಂತರ ಪ್ಯಾರಾಮೀಟರ್ಗೆ ಕಾರಣವಾಗುತ್ತದೆ, ಅಳಿಸಿದ ಮಾದರಿಯಿಂದ ಸರಿಹೊಂದುವ ಪ್ರತ್ಯಯದ ಚಿಕ್ಕ ಭಾಗವನ್ನು ಹೊಂದಿದೆ.

ಅತಿದೊಡ್ಡ ಪ್ರತ್ಯಯ ಪ್ಯಾಟರ್ನ್ ತೆಗೆದುಹಾಕಿ. ಒಂದು ಮಾದರಿಯನ್ನು ಉತ್ಪತ್ತಿ ಮಾಡಲು ಪದವನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ. ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಯು ನಂತರ ಪ್ಯಾರಾಮೀಟರ್ನ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ, ಮಾದರಿ ಅಳತೆಯಿಂದ ಉಂಟಾದ ಪ್ರತ್ಯಯದ ದೊಡ್ಡ ಭಾಗವನ್ನು ಅಳಿಸಲಾಗಿದೆ.

ಚಿಕ್ಕ ಪೂರ್ವಪ್ರತ್ಯಯ ಪ್ಯಾಟರ್ನ್ ತೆಗೆದುಹಾಕಿ. ಒಂದು ಮಾದರಿಯನ್ನು ಉತ್ಪತ್ತಿ ಮಾಡಲು ಪದವನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ. ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಯು ನಂತರ ಪ್ಯಾರಾಮೀಟರ್ನಲ್ಲಿ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ, ಈ ನಮೂನೆಯಿಂದ ಸರಿಹೊಂದುವ ಪೂರ್ವಪ್ರತ್ಯಯದ ಚಿಕ್ಕ ಭಾಗವನ್ನು ಅಳಿಸಲಾಗಿದೆ.

ಅತಿದೊಡ್ಡ ಪೂರ್ವಪ್ರತ್ಯಯ ಪ್ಯಾಟರ್ನ್ ತೆಗೆದುಹಾಕಿ. ಒಂದು ಮಾದರಿಯನ್ನು ಉತ್ಪತ್ತಿ ಮಾಡಲು ಪದವನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ. ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆಯು ನಂತರ ಪ್ಯಾರಾಮೀಟರ್ನಲ್ಲಿ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ, ಈ ಮಾದರಿಯಿಂದ ಸರಿಹೊಂದುವ ಪೂರ್ವಪ್ರತ್ಯಯದ ದೊಡ್ಡ ಭಾಗವನ್ನು ಅಳಿಸಲಾಗಿದೆ.

ಕಮಾಂಡ್ ಬದಲಿ

ಕಮ್ಯಾಂಡ್ ಪರ್ಯಾಯವು ಕಮಾಂಡ್ನ ಔಟ್ಪುಟ್ಗೆ ಆಜ್ಞಾ ಹೆಸರಿನ ಬದಲಾಗಿ ಬದಲಿಯಾಗಲು ಅನುಮತಿಸುತ್ತದೆ. ಆಜ್ಞೆಯನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಸುತ್ತುವರಿದಾಗ ಕಮಾಂಡ್ ಬದಲಿತ್ವವು ಸಂಭವಿಸುತ್ತದೆ:

$ (ಆದೇಶ)

ಅಥವಾ ಪೊ "ಬ್ಯಾಕ್ಕ್ಯುಟೆಡ್" ಆವೃತ್ತಿ ಪಿಸಿ:

`ಆಜ್ಞೆ`

ಶೆಲ್ ಆಬ್ಜೆಲ್ನ ಪರಿಸರದಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದರ ಮೂಲಕ ಕಮಾಂಡ್ ಬದಲಿತ್ವವನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ ಮತ್ತು ಆಜ್ಞೆಯ ಪ್ರಮಾಣಿತ ಉತ್ಪಾದನೆಯೊಂದಿಗೆ ಆಜ್ಞೆಯನ್ನು ಪರ್ಯಾಯವಾಗಿ ಬದಲಿಸುವ ಮೂಲಕ, ಒಂದು ಅಥವಾ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಹೊಸ ಅನುಕ್ರಮಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದರ ಬದಲಿಯಾಗಿ. (ಎಂಬೆಡೆಡ್ <ಹೊಸ ಲೈನ್> s ಔಟ್ಪುಟ್ನ ಅಂತ್ಯದ ಮೊದಲು ತೆಗೆದು ಹಾಕಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ಕ್ಷೇತ್ರದಲ್ಲಿ ವಿಭಜನೆಯ ಸಮಯದಲ್ಲಿ, ಅವುಗಳನ್ನು s ಗೆ ಭಾಷಾಂತರಿಸಬಹುದು, ಅದು IFS ನ ಮೌಲ್ಯವನ್ನು ಅವಲಂಬಿಸಿ ಮತ್ತು ಪರಿಣಾಮಕಾರಿಯಾಗಿರುವುದನ್ನು ಉಲ್ಲೇಖಿಸುತ್ತದೆ.)

ಅಂಕಗಣಿತದ ವಿಸ್ತರಣೆ

ಅಂಕಗಣಿತದ ವಿಸ್ತರಣೆಯು ಅಂಕಗಣಿತದ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಮತ್ತು ಅದರ ಮೌಲ್ಯವನ್ನು ಬದಲಿಸುವ ಕಾರ್ಯವಿಧಾನವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಅಂಕಗಣಿತದ ವಿಸ್ತರಣೆಯ ಸ್ವರೂಪವು ಕೆಳಕಂಡಂತಿರುತ್ತದೆ:

$ ((ಅಭಿವ್ಯಕ್ತಿ)

ಅಭಿವ್ಯಕ್ತಿ ಒಳಗೆ ಡಬಲ್-ಕೋಟ್ ವಿಶೇಷವಾಗಿ ಚಿಕಿತ್ಸೆ ನೀಡದ ಹೊರತು, ಅಭಿವ್ಯಕ್ತಿ ಡಬಲ್-ಕೋಟ್ಸ್ನಲ್ಲಿರುವಂತೆ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಶೆಲ್ ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆ, ಆಜ್ಞೆಯನ್ನು ಬದಲಿಸುವಿಕೆ, ಮತ್ತು ಉದ್ಧರಣ ತೆಗೆದುಹಾಕುವಿಕೆಯ ಅಭಿವ್ಯಕ್ತಿಯಲ್ಲಿ ಎಲ್ಲಾ ಟೋಕನ್ಗಳನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ.

ಮುಂದೆ, ಶೆಲ್ ಇದನ್ನು ಅಂಕಗಣಿತ ಅಭಿವ್ಯಕ್ತಿ ಎಂದು ಪರಿಗಣಿಸುತ್ತದೆ ಮತ್ತು ಅಭಿವ್ಯಕ್ತಿಯ ಮೌಲ್ಯವನ್ನು ಬದಲಿಸುತ್ತದೆ.

ವೈಟ್ ಸ್ಪೇಸ್ ಸ್ಪ್ಲಿಟಿಂಗ್ (ಫೀಲ್ಡ್ ಸ್ಪ್ಲಿಟಿಂಗ್)

ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆ, ಆಜ್ಞೆಯ ಬದಲಿ ಮತ್ತು ಅಂಕಗಣಿತದ ವಿಸ್ತರಣೆಯ ನಂತರ, ಕ್ಷೇತ್ರ ವಿಭಜನೆ ಮತ್ತು ಬಹು ಕ್ಷೇತ್ರಗಳಿಗೆ ಡಬಲ್-ಕೋಟ್ಗಳಲ್ಲಿ ಉಂಟಾಗದ ವಿಸ್ತರಣೆಗಳು ಮತ್ತು ಪರ್ಯಾಯಗಳ ಫಲಿತಾಂಶಗಳನ್ನು ಸ್ಕ್ಯಾಲ್ ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತದೆ.

ಶೆಲ್ IF ನ ಪ್ರತಿಯೊಂದು ಪಾತ್ರವನ್ನು ಡಿಲಿಮಿಟರ್ ಆಗಿ ಪರಿಗಣಿಸುತ್ತದೆ ಮತ್ತು ಪ್ಯಾರಾಮೀಟರ್ ವಿಸ್ತರಣೆ ಮತ್ತು ಕಮಾಂಡ್ ಬದಲಿ ಕ್ಷೇತ್ರಗಳನ್ನು ಕ್ಷೇತ್ರಗಳಾಗಿ ವಿಭಜಿಸಲು ಡಿಲಿಮಿಟರ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ.

ಪಾತ್ನಾಮೇಮ್ ವಿಸ್ತರಣೆ (ಫೈಲ್ ಹೆಸರು ಜನರೇಷನ್)

- f ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಹೊಂದಿಸದೆ ಇದ್ದಲ್ಲಿ, ಪದ ವಿಭಜನೆಯು ಪೂರ್ಣಗೊಂಡ ನಂತರ ಫೈಲ್ ಹೆಸರಿನ ರಚನೆಯನ್ನು ನಡೆಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಪದವನ್ನು ಸ್ಲಾಶ್ಗಳಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿರುವ ನಮೂನೆಗಳ ಸರಣಿಯಂತೆ ನೋಡಲಾಗುತ್ತದೆ. ವಿಸ್ತರಣೆಯ ಪ್ರಕ್ರಿಯೆಯು ನಿರ್ದಿಷ್ಟ ಮಾದರಿಗೆ ಹೊಂದುವ ಸ್ಟ್ರಿಂಗ್ನೊಂದಿಗೆ ಪ್ರತಿ ಮಾದರಿಯನ್ನು ಬದಲಿಸುವ ಮೂಲಕ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಎಲ್ಲಾ ಫೈಲ್ಗಳ ಹೆಸರುಗಳೊಂದಿಗೆ ಪದವನ್ನು ಬದಲಿಸುತ್ತದೆ. ಇದರ ಮೇಲೆ ಎರಡು ನಿರ್ಬಂಧಗಳಿವೆ: ಮೊದಲನೆಯದು, ಒಂದು ಮಾದರಿಯು ಒಂದು ಸ್ಲಾಶ್ ಅನ್ನು ಹೊಂದಿರುವ ಸ್ಟ್ರಿಂಗ್ಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಎರಡನೆಯದಾಗಿ, ಮಾದರಿಯ ಮೊದಲ ಅಕ್ಷರವು ಒಂದು ಅವಧಿಯಾಗದೆ ಹೊರತು ಒಂದು ಮಾದರಿಯು ಒಂದು ಅವಧಿಯೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವ ಸ್ಟ್ರಿಂಗ್ಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುವುದಿಲ್ಲ. ಪಾಥ್ನೇಮ್ ವಿಸ್ತರಣೆ ಮತ್ತು ಪ್ರಕರಣ (1) ಕಮಾಂಡ್ಗಾಗಿ ಬಳಸಲಾದ ಮಾದರಿಗಳನ್ನು ಮುಂದಿನ ವಿಭಾಗ ವಿವರಿಸುತ್ತದೆ.

ಶೆಲ್ ಪ್ಯಾಟರ್ನ್ಸ್

ಒಂದು ಮಾದರಿಯು ಸಾಮಾನ್ಯ ಪಾತ್ರಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಅದು ತಾವೇ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ, ಮತ್ತು ಮೆಟಾ-ಪಾತ್ರಗಳು. ಮೆಟಾ-ಪಾತ್ರಗಳು ``! '' `` * '' ``? '' ಮತ್ತು `` `['' ಈ ಅಕ್ಷರಗಳನ್ನು ಅವರು ಉಲ್ಲೇಖಿಸಿದರೆ ಅವರ ವಿಶೇಷ ಅರ್ಥಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತಾರೆ. ಆಜ್ಞೆ ಅಥವಾ ವೇರಿಯೇಬಲ್ ಪರ್ಯಾಯವನ್ನು ನಿರ್ವಹಿಸಿದಾಗ ಮತ್ತು ಡಾಲರ್ ಚಿಹ್ನೆ ಅಥವಾ ಹಿಂಬದಿ ಉಲ್ಲೇಖಗಳು ಡಬಲ್ ಉಲ್ಲೇಖಿಸಲ್ಪಡದಿದ್ದಾಗ, ವೇರಿಯಬಲ್ನ ಮೌಲ್ಯ ಅಥವಾ ಆಜ್ಞೆಯ ಔಟ್ಪುಟ್ ಈ ಅಕ್ಷರಗಳಿಗಾಗಿ ಸ್ಕ್ಯಾನ್ ಆಗುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಮೆಟಾ-ಪಾತ್ರಗಳಾಗಿ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ.

ನಕ್ಷತ್ರ ಚಿಹ್ನೆ (`` * '') ಅಕ್ಷರಗಳ ಯಾವುದೇ ಸರಣಿಯನ್ನು ಸರಿಹೊಂದಿಸುತ್ತದೆ. ಒಂದು ಪ್ರಶ್ನೆಯು ಯಾವುದೇ ಒಂದು ಅಕ್ಷರವನ್ನು ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ. ಎಡ ಬ್ರಾಕೆಟ್ (`` ['') ಒಂದು ಅಕ್ಷರ ವರ್ಗವನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ. ``] '' ಕಾಣೆಯಾಗಿದೆ ವೇಳೆ ಅಕ್ಷರ ವರ್ಗದ ಅಂತ್ಯವು ಒಂದು (``) '' ದಿಂದ ಸೂಚಿಸಲ್ಪಡುತ್ತದೆ. ನಂತರ `` 'ಒಂದು ಪಾತ್ರದ ವರ್ಗವನ್ನು ಪರಿಚಯಿಸುವ ಬದಲು `[' 'ಸರಿಹೊಂದಿಸುತ್ತದೆ. ಒಂದು ವರ್ಗ ವರ್ಗವು ಚದರ ಆವರಣಗಳ ನಡುವೆ ಯಾವುದೇ ಪಾತ್ರಗಳನ್ನು ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ. ಮೈನಸ್ ಚಿಹ್ನೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅಕ್ಷರಗಳ ಶ್ರೇಣಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಪಾತ್ರದ ವರ್ಗದ ಮೊದಲ ಅಕ್ಷರವನ್ನು ಆಶ್ಚರ್ಯಸೂಚಕ ಬಿಂದುವನ್ನಾಗಿ ಮಾಡುವ ಮೂಲಕ ಪಾತ್ರ ವರ್ಗವನ್ನು ಪೂರಕಗೊಳಿಸಬಹುದು.

ಒಂದು ಅಕ್ಷರ ವರ್ಗದಲ್ಲಿ ಒಂದು ``] ಸೇರಿಸಲು, ಅದು ಪಟ್ಟಿ ಮಾಡಿದ ಮೊದಲ ಅಕ್ಷರವನ್ನು ಮಾಡಿ (``! '' ಇದ್ದರೆ). ಒಂದು ಮೈನಸ್ ಚಿಹ್ನೆಯನ್ನು ಸೇರಿಸಲು, ಅದನ್ನು ಪಟ್ಟಿಮಾಡಿದ ಮೊದಲ ಅಥವಾ ಕೊನೆಯ ಅಕ್ಷರ ಮಾಡಿ

ಬಿಲ್ಟಿನ್ಸ್

ಈ ವಿಭಾಗವು ಅಂತರ್ನಿರ್ಮಿತವಾದ ಅಂತರ್ನಿರ್ಮಿತ ಆಜ್ಞೆಗಳನ್ನು ಪಟ್ಟಿಮಾಡುತ್ತದೆ ಏಕೆಂದರೆ ಅವುಗಳು ಪ್ರತ್ಯೇಕ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗದ ಕೆಲವು ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಬೇಕಾಗಿದೆ. ಇವುಗಳ ಜೊತೆಯಲ್ಲಿ, ದಕ್ಷತೆಗಾಗಿ (ಉದಾ. ಪ್ರತಿಧ್ವನಿ 1) ನಿರ್ಮಿಸಬಹುದಾದ ಹಲವಾರು ಇತರ ಆಜ್ಞೆಗಳು ಇವೆ.

:

0 (ನಿಜವಾದ) ನಿರ್ಗಮನ ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿಸುವ ಒಂದು ಶೂನ್ಯ ಆಜ್ಞೆ.

. ಫೈಲ್

ನಿರ್ದಿಷ್ಟ ಕಡತದಲ್ಲಿನ ಆಜ್ಞೆಗಳನ್ನು ಶೆಲ್ನಿಂದ ಓದಲು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಅಲಿಯಾಸ್ [ ಹೆಸರು [ = ಸ್ಟ್ರಿಂಗ್ ... ]]

ಹೆಸರು = ಸ್ಟ್ರಿಂಗ್ ಸೂಚಿಸಿದ್ದರೆ, ಶೆಲ್ ಅಲಿಯಾಸ್ ಹೆಸರನ್ನು ಮೌಲ್ಯ ಸ್ಟ್ರಿಂಗ್ನೊಂದಿಗೆ ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ ಕೇವಲ ಹೆಸರನ್ನು ಸೂಚಿಸಿದ್ದರೆ, ಅಲಿಯಾಸ್ ಹೆಸರಿನ ಮೌಲ್ಯವನ್ನು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ. ಯಾವುದೇ ಚರ್ಚೆಗಳಿಲ್ಲದೆ, ಅಲಿಯಾಸ್ ನಿರ್ಮಿಸಿದ ಎಲ್ಲಾ ವ್ಯಾಖ್ಯಾನಿತ ಅಲಿಯಾಸ್ಗಳ ಹೆಸರುಗಳು ಮತ್ತು ಮೌಲ್ಯಗಳನ್ನು ಮುದ್ರಿಸುತ್ತದೆ ( ಯುನಲಿಯಾಸ್ ನೋಡಿ)

ಬಿಜಿ [ ಉದ್ಯೋಗ] ...

ಹಿನ್ನೆಲೆಯಲ್ಲಿ ನಿಗದಿತ ಉದ್ಯೋಗಗಳನ್ನು ಮುಂದುವರಿಸಿ (ಅಥವಾ ಯಾವುದೇ ಉದ್ಯೋಗಗಳು ನೀಡದಿದ್ದರೆ ಪ್ರಸ್ತುತ ಕೆಲಸ).

ಆದೇಶ ಆಜ್ಞೆ ಆರ್ಗ್ ...

ನಿಗದಿತ ನಿರ್ಮಿಸಿದ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ. (ನೀವು ನಿರ್ಮಿಸಿದ ಆಜ್ಞೆಯಂತೆ ಅದೇ ಹೆಸರಿನೊಂದಿಗೆ ಶೆಲ್ ಕಾರ್ಯವನ್ನು ಹೊಂದಿರುವಾಗ ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ.)

ಸಿಡಿ [ ಡೈರೆಕ್ಟರಿ ]

ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಡೈರೆಕ್ಟರಿಗೆ (ಡೀಫಾಲ್ಟ್ $ HOME) ಬದಲಿಸಿ ಸಿಡಿಎಫ್ ಆಜ್ಞೆಯ ಪರಿಸರದಲ್ಲಿ CDPATH ಗೆ ನಮೂದು ಕಾಣಿಸಿದ್ದರೆ ಅಥವಾ ಶೆಲ್ ವೇರಿಯಬಲ್ CDPATH ಅನ್ನು ಹೊಂದಿಸಿದ್ದರೆ ಮತ್ತು ಡೈರೆಕ್ಟರಿ ಹೆಸರು ಸ್ಲ್ಯಾಷ್ನೊಂದಿಗೆ ಆರಂಭವಾಗುವುದಿಲ್ಲ, ನಂತರ CDPATH ನಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾದ ಡೈರೆಕ್ಟರಿಗಳನ್ನು ಹುಡುಕಲಾಗುತ್ತದೆ ನಿರ್ದಿಷ್ಟ ಕೋಶಕ್ಕಾಗಿ. ಸಿಡಿಪಿಎಥ್ನ ಸ್ವರೂಪವು PATH ನಂತೆಯೇ ಇರುತ್ತದೆ ಒಂದು ಸಂವಾದಾತ್ಮಕ ಶೆಲ್ನಲ್ಲಿ, cd ಆಜ್ಞೆಯು ಬಳಕೆದಾರನು ನೀಡಿದ ಹೆಸರಿನಿಂದ ಭಿನ್ನವಾಗಿದ್ದರೆ ಅದನ್ನು ನಿಜವಾಗಿ ಬದಲಿಸಿದ ಕೋಶದ ಹೆಸರನ್ನು ಮುದ್ರಿಸುತ್ತದೆ. ಸಿಡಿಪಿಎಫ್ಥ್ ಯಾಂತ್ರಿಕತೆಯನ್ನು ಬಳಸಲಾಗುತ್ತಿತ್ತು ಅಥವಾ ಸಾಂಕೇತಿಕ ಲಿಂಕ್ ದಾಟಿದ ಕಾರಣ ಇವುಗಳು ವಿಭಿನ್ನವಾಗಿರಬಹುದು.

eval ಸ್ಟ್ರಿಂಗ್ ...

ಸ್ಥಳಾವಕಾಶದೊಂದಿಗೆ ಎಲ್ಲಾ ವಾದಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸಿ. ಆಜ್ಞೆಯನ್ನು ಪುನಃ ಪಾರ್ಸ್ ಮಾಡಿ ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡಿ.

exec [ ಆಜ್ಞೆ ಆರ್ಗ್ ... ]

ಆಜ್ಞೆಯನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟರೆ, ಶೆಲ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿರ್ದಿಷ್ಟ ಪ್ರೋಗ್ರಾಂನಿಂದ ಬದಲಿಸಲಾಗುತ್ತದೆ (ಅದು ನಿಜವಾದ ಪ್ರೊಗ್ರಾಮ್ ಆಗಿರಬೇಕು, ಶೆಲ್ ಬಿಲ್ಟ್ಇನ್ ಅಥವಾ ಕಾರ್ಯವಲ್ಲ). Exec ಆದೇಶದ ಯಾವುದೇ ಪುನರ್ನಿರ್ದೇಶನಗಳು ಶಾಶ್ವತವಾಗಿ ಗುರುತಿಸಲ್ಪಟ್ಟಿವೆ, ಹೀಗಾಗಿ exec ಆದೇಶ ಪೂರ್ಣಗೊಂಡಾಗ ಅವುಗಳನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ.

ನಿರ್ಗಮನ [ ನಿರ್ಗಮನ ]

ಶೆಲ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕೊನೆಗೊಳಿಸು. Exitstatus ನೀಡಿದರೆ ಅದನ್ನು ಶೆಲ್ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ; ಇಲ್ಲದಿದ್ದರೆ ಹಿಂದಿನ ಆದೇಶದ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

ರಫ್ತು ಹೆಸರು ...

ರಫ್ತು- p

ನಿಗದಿತ ಹೆಸರುಗಳನ್ನು ರಫ್ತು ಮಾಡಲಾಗಿದ್ದು, ಆದ್ದರಿಂದ ಅವರು ನಂತರದ ಆಜ್ಞೆಗಳ ಪರಿಸರದಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತಾರೆ. ವೇರಿಯಬಲ್ ಅನ್ನು ಅನ್-ರಫ್ತು ಮಾಡುವ ಏಕೈಕ ಮಾರ್ಗವೆಂದರೆ ಅದನ್ನು ಹೊಂದಿಸದೇ ಇರುವುದು. ವೇರಿಯಬಲ್ನ ಮೌಲ್ಯವನ್ನು ಅದೇ ಸಮಯದಲ್ಲಿ ಬರೆಯುವ ಮೂಲಕ ರಫ್ತು ಮಾಡಲಾಗುವುದು ಎಂದು ಶೆಲ್ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ

ರಫ್ತು ಹೆಸರು = ಮೌಲ್ಯ

ಯಾವುದೇ ವಾದವಿಲ್ಲದೆ ರಫ್ತು ಆಜ್ಞೆಯು ಎಲ್ಲ ರಫ್ತು ಮಾಡಲಾದ ಅಸ್ಥಿರಗಳ ಹೆಸರುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ - ಪು ಆಯ್ಕೆಯೊಂದಿಗೆ ಔಟ್ಪುಟ್ ಅಲ್ಲದ ಬಳಕೆಗಾಗಿ ಔಟ್ಪುಟ್ ಅನ್ನು ಫಾರ್ಮಾಟ್ ಮಾಡಲಾಗುತ್ತದೆ.

fc [- ಸಂಪಾದಕ ] [ ಮೊದಲ [ ಕೊನೆಯ ]]

fc -l [- nr ] [ ಮೊದಲ [ ಕೊನೆಯ ]]

fc -s [ ಹಳೆಯ = ಹೊಸ ] [ ಮೊದಲ ]

ಎಫ್ಸಿ ನಿರ್ಮಿಸಿದ ಪಟ್ಟಿಗಳು, ಅಥವಾ ಸಂಪಾದನೆಗಳು ಮತ್ತು ಮರು-ಕಾರ್ಯಗತಗೊಳಿಸಿ, ಒಂದು ಸಂವಾದಾತ್ಮಕ ಶೆಲ್ಗೆ ಹಿಂದೆ ನಮೂದಿಸಲಾದ ಆದೇಶಗಳು.

-ಇ ಸಂಪಾದಕ

ಆಜ್ಞೆಗಳನ್ನು ಸಂಪಾದಿಸಲು ಸಂಪಾದಕ ಹೆಸರಿನ ಸಂಪಾದಕವನ್ನು ಬಳಸಿ. ಸಂಪಾದಕ ಸ್ಟ್ರಿಂಗ್ ಒಂದು ಕಮಾಂಡ್ ಹೆಸರಾಗಿದೆ, ಇದು PATH ವೇರಿಯಬಲ್ ಮೂಲಕ ಹುಡುಕುತ್ತದೆ. ಎಫ್ಸಿಇಡಿಐಟಿ ವೇರಿಯೇಬಲ್ನಲ್ಲಿನ ಮೌಲ್ಯವನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಬಳಸಲಾಗುತ್ತದೆ - ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿಲ್ಲ. ಎಫ್ಸಿಇಡಿಐಟಿ ಶೂನ್ಯ ಅಥವಾ ಹೊಂದಿಸದಿದ್ದರೆ, ಸಂಪಾದಕ ವೇರಿಯಬಲ್ನ ಮೌಲ್ಯವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಸಂಪಾದಕರು ಶೂನ್ಯ ಅಥವಾ ಹೊಂದಿಸದಿದ್ದರೆ, ed (1) ಸಂಪಾದಕನಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

-ಎಲ್ (ಎಲ್)

ಅವುಗಳ ಮೇಲೆ ಸಂಪಾದಕನನ್ನು ಆಹ್ವಾನಿಸುವ ಬದಲು ಆಜ್ಞೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ. ಆಜ್ಞೆಗಳನ್ನು ಮೊದಲು ಆಜ್ಞೆಯ ಸಂಖ್ಯೆಯಿಂದ ಮುಂಚಿತವಾಗಿ ಪ್ರತಿ ಕಮಾಂಡ್ನೊಂದಿಗೆ ಪ್ರಭಾವಿತಗೊಂಡಂತೆ, ಮೊದಲ ಮತ್ತು ಕೊನೆಯ ಆಪರಂಡ್ಗಳು ಸೂಚಿಸಿದ ಅನುಕ್ರಮದಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ.

-n

-l ನೊಂದಿಗೆ ಪಟ್ಟಿ ಮಾಡುವಾಗ ಆಜ್ಞೆಯ ಸಂಖ್ಯೆಗಳನ್ನು ನಿಗ್ರಹಿಸು.

-ಆರ್

ಪಟ್ಟಿ ಮಾಡಲಾದ ಆಜ್ಞೆಗಳ ಕ್ರಮವನ್ನು ಹಿಂತೆಗೆದುಕೊಳ್ಳಿ (ಜೊತೆ - l ಅಥವಾ ಸಂಪಾದಿತ (ಎರಡೂ - ಇಲ್ಲ ಅಥವಾ - ಗಳು)

-s

ಸಂಪಾದಕನನ್ನು ಆಹ್ವಾನಿಸದೆ ಆಜ್ಞೆಯನ್ನು ಪುನಃ ಕಾರ್ಯಗತಗೊಳಿಸಿ.

ಪ್ರಥಮ

ಕೊನೆಯದು

ಪಟ್ಟಿ ಮಾಡಲು ಅಥವಾ ಸಂಪಾದಿಸಲು ಆದೇಶಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಿ. ಪ್ರವೇಶಿಸಬಹುದಾದ ಹಿಂದಿನ ಆಜ್ಞೆಗಳ ಸಂಖ್ಯೆಗಳನ್ನು HISTSIZE ವೇರಿಯಬಲ್ನ ಮೌಲ್ಯದಿಂದ ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ. ಮೊದಲ ಅಥವಾ ಕೊನೆಯ ಅಥವಾ ಎರಡರ ಮೌಲ್ಯವು ಕೆಳಗಿನವುಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ:

[+] ಸಂಖ್ಯೆ

ಆದೇಶ ಸಂಖ್ಯೆಯನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಧನಾತ್ಮಕ ಸಂಖ್ಯೆ; ಆಜ್ಞೆಯನ್ನು ಸಂಖ್ಯೆಗಳು -l ಆಯ್ಕೆಯನ್ನು ತೋರಿಸಬಹುದು.

-ಸಂಖ್ಯೆ

ಹಿಂದೆ ಆಜ್ಞೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ಆಜ್ಞೆಯನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಋಣಾತ್ಮಕ ದಶಮಾಂಶ ಸಂಖ್ಯೆ. ಉದಾಹರಣೆಗೆ, -1 ಎಂಬುದು ತಕ್ಷಣವೇ ಹಿಂದಿನ ಆದೇಶವಾಗಿದೆ.

ಸ್ಟ್ರಿಂಗ್

ಆ ಸ್ಟ್ರಿಂಗ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವ ಅತ್ಯಂತ ಇತ್ತೀಚೆಗೆ ನಮೂದಿಸಿದ ಆಜ್ಞೆಯನ್ನು ಸೂಚಿಸುವ ಸ್ಟ್ರಿಂಗ್. ಹಳೆಯ = ಹೊಸ ಒರಾಂಡ್ರನ್ನು ಕೂಡ ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದಲ್ಲಿ - ಮೊದಲ ಆಪರೇಂಡ್ನ ಸ್ಟ್ರಿಂಗ್ ರೂಪದಲ್ಲಿ ಎಂಬೆಡ್ ಮಾಡಿದ ಸಮ ಚಿಹ್ನೆಯನ್ನು ಒಳಗೊಂಡಿರಬಾರದು.

ಕೆಳಗಿನ ಪರಿಸರದ ಅಸ್ಥಿರಗಳು ಎಫ್ಸಿ ಯ ಮರಣದಂಡನೆ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ:

FCEDIT

ಬಳಸಲು ಸಂಪಾದಕರ ಹೆಸರು.

ಹಿಸ್ಟರಿ

ಪ್ರವೇಶಿಸಬಹುದಾದ ಹಿಂದಿನ ಆಜ್ಞೆಗಳ ಸಂಖ್ಯೆ.

fg [ ಉದ್ಯೋಗ ]

ನಿರ್ದಿಷ್ಟ ಕೆಲಸ ಅಥವಾ ಪ್ರಸ್ತುತ ಕೆಲಸವನ್ನು ಮುನ್ನೆಲೆಗೆ ಸರಿಸಿ.

getopts optstring var

POSIX ಬೆಲ್ ಲ್ಯಾಬ್ಸ್- ಡಿವೈಡೆಡ್ ಗೆಟಾಪ್ (1) ನೊಂದಿಗೆ ಗೊಂದಲಕ್ಕೀಡಾಗಬಾರದು ಎಂಬ ಆದೇಶವನ್ನು ಪಡೆಯುತ್ತದೆ.

ಮೊದಲ ವಾದವು ಅಕ್ಷರಗಳ ಸರಣಿಯಾಗಿರಬೇಕು, ಪ್ರತಿಯೊಂದೂ ಒಂದು ವಾದ್ಯದ ಅವಶ್ಯಕತೆ ಇದೆ ಎಂದು ಸೂಚಿಸಲು ಐಚ್ಛಿಕವಾಗಿ ನಂತರ ಒಂದು ಕೊಲೊನ್ ಆಗಿರಬಹುದು. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ವೇರಿಯಬಲ್ ಅನ್ನು ಪಾರ್ಸ್ಡ್ ಆಯ್ಕೆಗೆ ಹೊಂದಿಸಲಾಗಿದೆ.

ವೈಟ್ಸ್ಪೇಸ್ ಆಜ್ಞೆಯು ಹಳೆಯ ಜಾಗವನ್ನು ಹೊಂದಿರುವ (1) ಉಪಯುಕ್ತತೆಯನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ ಮತ್ತು ಇದು ಜಾಗಗಳನ್ನು ಹೊಂದಿರುವ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.

ನಿಯತಾಂಕಗಳ ಪಟ್ಟಿಯಿಂದ ಆಯ್ಕೆ ಮತ್ತು ಅವರ ವಾದಗಳನ್ನು ಪಡೆಯಲು Getopts builtin ಅನ್ನು ಬಳಸಬಹುದು. ಆಹ್ವಾನಿಸಿದಾಗ, getopts ವು var ನಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾದ ಶೆಲ್ ವೇರಿಯೇಬಲ್ನಲ್ಲಿನ ಆಯ್ಕೆಯ ಸ್ಟ್ರಿಂಗ್ನಿಂದ ಮುಂದಿನ ಆಯ್ಕೆಯ ಮೌಲ್ಯವನ್ನು ಇರಿಸುತ್ತದೆ ಮತ್ತು ಇದು ಶೆಲ್ ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಸೂಚ್ಯಂಕ ಇಲ್ಲಿದೆ OPTIND ಶೆಲ್ ಅನ್ನು ಆಹ್ವಾನಿಸಿದಾಗ, OPTIND ಅನ್ನು 1 ಗೆ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ. ಒಂದು ವಾದವು, getopts builtin ಇದು ಶೆಲ್ ವೇರಿಯೇಬಲ್ OPTARG ನಲ್ಲಿ ಇರಿಸುತ್ತದೆ ಆಪ್ಟ್ಸ್ಟ್ರಿಂಗ್ನಲ್ಲಿ ಒಂದು ಆಯ್ಕೆಯನ್ನು ಅನುಮತಿಸದಿದ್ದರೆ OPTARG ಅನ್ನು ಹೊಂದಿಸಲಾಗುವುದಿಲ್ಲ.

ಆಪ್ಟ್ಸ್ಟ್ರಿಂಗ್ ಎನ್ನುವುದು ಮಾನ್ಯತೆ ಪಡೆದ ಅಕ್ಷರಗಳ ಒಂದು ಸ್ಟ್ರಿಂಗ್. ಒಂದು ಪತ್ರವನ್ನು ಕೊಲೊನ್ ಅನುಸರಿಸಿದರೆ, ಆಯ್ಕೆಯು ಒಂದು ಜಾಗವನ್ನು ಹೊಂದಿರಬಹುದು ಅಥವಾ ಅದು ಜಾಗದಿಂದ ಜಾಗದಿಂದ ಬೇರ್ಪಡಿಸಬಾರದು. ನಿರೀಕ್ಷಿಸಿದಲ್ಲಿ ಒಂದು ಆಯ್ಕೆಯನ್ನು ಪಾತ್ರವು ಕಂಡುಬರದಿದ್ದರೆ, getopts ವೇರಿಯಬಲ್ ವರ್ ಅನ್ನು ``? 'ಗೆ ಹೊಂದಿಸುತ್ತದೆ. ನಂತರ getopts OPTARG ಅನ್ನು ಹೊಂದಿಸುವುದಿಲ್ಲ ಮತ್ತು ಪ್ರಮಾಣಿತ ದೋಷಕ್ಕೆ ಔಟ್ಪುಟ್ ಅನ್ನು ಬರೆಯುತ್ತದೆ. ಆಪ್ಟ್ಸ್ಟ್ರಿಂಗ್ನ ಮೊದಲ ಅಕ್ಷರವೆಂದು ಕೊಲೊನ್ ಅನ್ನು ಸೂಚಿಸುವ ಮೂಲಕ ಎಲ್ಲಾ ದೋಷಗಳನ್ನು ಕಡೆಗಣಿಸಲಾಗುತ್ತದೆ.

ಕೊನೆಯ ಆಯ್ಕೆಯನ್ನು ತಲುಪಿದಾಗ ಒಂದು ನಾಜೂಕಿಲ್ಲದ ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ. ಯಾವುದೇ ಉಳಿದ ವಾದಗಳು ಇರದಿದ್ದರೆ, getopts var ಅನ್ನು ವಿಶೇಷ ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿಸುತ್ತದೆ, ಇಲ್ಲದಿದ್ದರೆ, ಅದು var ಅನ್ನು `` ಗೆ ಹೊಂದಿಸುತ್ತದೆ. ''

ಕೆಳಗಿನ ಕೋಡ್ ತುಣುಕು ಆಯ್ಕೆಗಳು [a] ಮತ್ತು [b] ಮತ್ತು ಒಂದು ವಾದವನ್ನು ಅಗತ್ಯವಿರುವ ಆಯ್ಕೆಯನ್ನು [c] ತೆಗೆದುಕೊಳ್ಳಬಹುದಾದ ಆಜ್ಞೆಗಾಗಿ ವಾದಗಳನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬಹುದು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ.

ಎಂದರೆ: ಎಫ್ಸಿ
ಮಾಡಿ
ಕೇಸ್ $ f ಇನ್
a | ಬಿ) ಫ್ಲ್ಯಾಗ್ = $ ಎಫ್;
c) ಕಾರ್ಗ್ = $ OPTARG;
\?) $ USAGE ಪ್ರತಿಧ್ವನಿ; ನಿರ್ಗಮನ 1;
ಎಸ್ಸಾಕ್
ಮಾಡಲಾಗುತ್ತದೆ
shift `expr $ OPTIND - 1`

ಕೆಳಗಿನವುಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಸಮಾನ ಎಂದು ಈ ಕೋಡ್ ಒಪ್ಪಿಕೊಳ್ಳುತ್ತದೆ:

cmd -acarg ಫೈಲ್ ಫೈಲ್
cmd -a -c arg ಫೈಲ್ ಫೈಲ್
cmd -carg -a ಫೈಲ್ ಫೈಲ್
cmd -a-carg - ಫೈಲ್ ಫೈಲ್

ಹ್ಯಾಶ್ -ಆರ್ವಿ ಆಜ್ಞೆ ...

ಶೆಲ್ ಆಜ್ಞೆಗಳ ಸ್ಥಳಗಳನ್ನು ನೆನಪಿಸುವ ಒಂದು ಹ್ಯಾಶ್ ಕೋಷ್ಟಕವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಯಾವುದೇ ಚರ್ಚೆಗಳಿಲ್ಲದೆ, ಹ್ಯಾಶ್ ಆಜ್ಞೆಯು ಈ ಕೋಷ್ಟಕದ ವಿಷಯಗಳನ್ನು ಪ್ರಕಟಿಸುತ್ತದೆ. ಕೊನೆಯ ಸಿಡಿ ಆಜ್ಞೆಯಿಂದ ನೋಡಲಾಗದ ನಮೂದುಗಳನ್ನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯಿಂದ ಗುರುತಿಸಲಾಗಿದೆ; ಈ ನಮೂದುಗಳು ಅಮಾನ್ಯವಾಗಲು ಸಾಧ್ಯವಿದೆ.

ವಾದಗಳೊಂದಿಗೆ, ಹ್ಯಾಶ್ ಆಜ್ಞೆಯು ಹ್ಯಾಶ್ ಟೇಬಲ್ನಿಂದ ನಿರ್ದಿಷ್ಟ ಆದೇಶಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ (ಅವು ಕಾರ್ಯಗಳು ಹೊರತು) ಮತ್ತು ನಂತರ ಅವುಗಳನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ. - v ಆಯ್ಕೆಯೊಂದಿಗೆ, ಹ್ಯಾಶ್ ಆಜ್ಞೆಗಳ ಸ್ಥಳಗಳನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ. ಕಾರ್ಯಗಳನ್ನು ಹೊರತುಪಡಿಸಿ ಹ್ಯಾಶ್ ಟೇಬಲ್ನ ಎಲ್ಲಾ ನಮೂದುಗಳನ್ನು ಅಳಿಸಲು ಹ್ಯಾಶ್ ಆಜ್ಞೆಯನ್ನು - - r ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ.

ಉದ್ಯೋಗಿ [ ಕೆಲಸ ]

ಕೆಲಸದ ಪ್ರಕ್ರಿಯೆಗಳ ಪ್ರಕ್ರಿಯೆಯ ಐಡಿಗಳನ್ನು ಮುದ್ರಿಸು. ಕೆಲಸ ವಾದವನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟರೆ, ಪ್ರಸ್ತುತ ಕೆಲಸವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

ಉದ್ಯೋಗಗಳು

ಈ ಆಜ್ಞೆಯು ಪ್ರಸ್ತುತ ಶೆಲ್ ಪ್ರಕ್ರಿಯೆಯ ಮಕ್ಕಳು ಇರುವ ಎಲ್ಲಾ ಹಿನ್ನೆಲೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪಟ್ಟಿಮಾಡುತ್ತದೆ.

pwd

ಪ್ರಸ್ತುತ ಕೋಶವನ್ನು ಮುದ್ರಿಸು. ನಿರ್ಮಿಸಿದ ಆಜ್ಞೆಯು ಅದೇ ಹೆಸರಿನ ಪ್ರೋಗ್ರಾಂನಿಂದ ಭಿನ್ನವಾಗಿರುತ್ತದೆ ಏಕೆಂದರೆ ಪ್ರತೀ ಸಮಯವನ್ನು ಮರುಪ್ರಮಾಣಿಸುವ ಬದಲು ಪ್ರಸ್ತುತ ಡೈರೆಕ್ಟರಿಯು ಏನು ನಿರ್ಮಿಸುತ್ತದೆ ಎಂದು ನಿರ್ಮಿಸಿದ ಆಜ್ಞೆಯು ನೆನಪಿಸುತ್ತದೆ. ಇದು ವೇಗವಾಗಿ ಮಾಡುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಪ್ರಸ್ತುತ ಕೋಶವನ್ನು ಮರುಹೆಸರಿಸಿದರೆ, pwd ನ ಬಿಲ್ಟ್ಇನ್ ಆವೃತ್ತಿಯು ಡೈರೆಕ್ಟರಿಗೆ ಹಳೆಯ ಹೆಸರನ್ನು ಮುದ್ರಿಸಲು ಮುಂದುವರಿಯುತ್ತದೆ.

ಓದುವುದು [- ಪಿ ಪ್ರಾಂಪ್ಟ್ ] [- r ] ವೇರಿಯೇಬಲ್ ...

- ಪಿ ಆಯ್ಕೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ ಮತ್ತು ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ ಟರ್ಮಿನಲ್ ಆಗಿದ್ದರೆ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ. ನಂತರ ಒಂದು ಸಾಲಿನ ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ನಿಂದ ಓದಲಾಗುತ್ತದೆ. ಹಿಂಬಾಲಿಸುವ ಹೊಸಲೈನ್ ಅನ್ನು ರೇಖೆಯಿಂದ ಅಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಮೇಲಿನ ಪದ ವಿಭಜನೆಯ ವಿಭಾಗದಲ್ಲಿ ವಿವರಿಸಿರುವಂತೆ ಸಾಲು ವಿಭಜನೆಯಾಗುತ್ತದೆ ಮತ್ತು ತುಣುಕುಗಳನ್ನು ಕ್ರಮಬದ್ಧವಾಗಿ ನಿಗದಿಪಡಿಸಲಾಗುತ್ತದೆ. ಕನಿಷ್ಠ ಒಂದು ವೇರಿಯಬಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು. ಅಸ್ಥಿರಗಳಿಗಿಂತ ಹೆಚ್ಚಿನ ತುಣುಕುಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಉಳಿದ ತುಣುಕುಗಳು (ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಿರುವ IFS ನಲ್ಲಿನ ಪಾತ್ರಗಳೊಂದಿಗೆ) ಕೊನೆಯ ವೇರಿಯೇಬಲ್ಗೆ ನಿಯೋಜಿಸಲಾಗಿದೆ. ತುಣುಕುಗಳಿಗಿಂತ ಹೆಚ್ಚಿನ ಅಸ್ಥಿರಗಳಿದ್ದರೆ, ಉಳಿದ ಅಸ್ಥಿರಗಳನ್ನು ಶೂನ್ಯ ಸ್ಟ್ರಿಂಗ್ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ. ಇನ್ಪುಟ್ನಲ್ಲಿ EOF ಎದುರಾಗುವವರೆಗೂ ಓದಲು ನಿರ್ಮಿತವಾದವು ಯಶಸ್ಸನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಆ ಸಂದರ್ಭದಲ್ಲಿ ವಿಫಲವಾದರೆ ಮರಳುತ್ತದೆ.

ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, - r ಆಯ್ಕೆಯನ್ನು ಸೂಚಿಸದೆ ಇದ್ದಲ್ಲಿ, ಬ್ಯಾಕ್ಸ್ಕ್ಲಾಷ್ `" \ "ಒಂದು ಪಾರು ಅಕ್ಷರವಾಗಿ ವರ್ತಿಸುತ್ತದೆ, ಈ ಕೆಳಗಿನ ಅಕ್ಷರವನ್ನು ಅಕ್ಷರಶಃ ಪರಿಗಣಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ. ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್ ಅನ್ನು ಹೊಸ ಲೈನ್ ಅನುಸರಿಸಿದರೆ, ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಶ್ ಮತ್ತು ಹೊಸಲೈನ್ ಅನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ.

ಓದಲು ಮಾತ್ರ ...

read -ly -p

ನಿಗದಿತ ಹೆಸರುಗಳನ್ನು ಓದಲು ಮಾತ್ರ ಎಂದು ಗುರುತಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ಅವುಗಳನ್ನು ತರುವಾಯ ಮಾರ್ಪಡಿಸಲಾಗುವುದಿಲ್ಲ ಅಥವಾ ಹೊಂದಿಸಬಾರದು. ಒಂದು ವೇರಿಯೇಬಲ್ನ ಮೌಲ್ಯವನ್ನು ಅದೇ ಸಮಯದಲ್ಲಿ ಬರೆಯುವ ಮೂಲಕ ಮಾತ್ರ ಓದಲಾಗುವುದು ಎಂದು ಶೆಲ್ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ

ಓದಲು ಮಾತ್ರ = ಮೌಲ್ಯ

ಯಾವುದೇ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳಿಲ್ಲದೆ ಓದಿದ ಆಜ್ಞೆಯು ಎಲ್ಲಾ ಓದಲು ಮಾತ್ರ ಅಸ್ಥಿರಗಳ ಪಟ್ಟಿಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ - ಪು ಆಯ್ಕೆಯೊಂದಿಗೆ ಔಟ್ಪುಟ್ ಅಲ್ಲದ ಬಳಕೆಗಾಗಿ ಔಟ್ಪುಟ್ ಅನ್ನು ಫಾರ್ಮಾಟ್ ಮಾಡಲಾಗುತ್ತದೆ.

ಸೆಟ್ ಮಾಡಿ [{- ಆಯ್ಕೆಗಳು | + ಆಯ್ಕೆಗಳು | - ಆರ್ಗ್ ... ]

ಸೆಟ್ ಕಮಾಂಡ್ ಮೂರು ವಿವಿಧ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.

ಯಾವುದೇ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳಿಲ್ಲದೆ, ಇದು ಎಲ್ಲಾ ಶೆಲ್ ಅಸ್ಥಿರಗಳ ಮೌಲ್ಯಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ.

ಆಯ್ಕೆಗಳನ್ನು ಕೊಟ್ಟರೆ, ಅದು ನಿಗದಿತ ಆಯ್ಕೆ ಫ್ಲ್ಯಾಗ್ಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ ಅಥವಾ ಎಸ್ಕ್ಸ್ ಆರ್ಗ್ಯುಮೆಂಟ್ ಲಿಸ್ಟ್ ಪ್ರೊಸೆಸಿಂಗ್ ಎಂಬ ವಿಭಾಗದಲ್ಲಿ ವಿವರಿಸಿರುವಂತೆ ಅವುಗಳನ್ನು ತೆರವುಗೊಳಿಸುತ್ತದೆ.

ಸೆಟ್ ಆಜ್ಞೆಯ ಮೂರನೆಯ ಬಳಕೆ, ಶೆಲ್ನ ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳ ಮೌಲ್ಯಗಳನ್ನು ನಿಗದಿತ ವಾದಗಳಿಗೆ ಹೊಂದಿಸುವುದು. ಯಾವುದೇ ಆಯ್ಕೆಗಳನ್ನು ಬದಲಾಯಿಸದೆ ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳನ್ನು ಬದಲಾಯಿಸಲು, `` - '' ಅನ್ನು ಹೊಂದಿಸಲು ಮೊದಲ ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ಬಳಸಿ. ಯಾವುದೇ ವಾದಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೆ, ಸೆಟ್ ಆಜ್ಞೆಯು ಎಲ್ಲಾ ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳನ್ನು ತೆರವುಗೊಳಿಸುತ್ತದೆ (" ಶಿಫ್ಟ್ $ #."

ವೇರಿಯೇಬಲ್ ಮೌಲ್ಯ

ವೇರಿಯಬಲ್ಗೆ ಮೌಲ್ಯವನ್ನು ನಿಗದಿಪಡಿಸುತ್ತದೆ. (ಸಾಮಾನ್ಯವಾಗಿ, ಸೆಟ್ವರ್ ಸೆಟ್ವಾರ್ ಅನ್ನು ಬಳಸುವುದಕ್ಕಿಂತ ಬದಲಾಗಿ ವೇರಿಯೇಬಲ್ = ಮೌಲ್ಯವನ್ನು ಬರೆಯುವುದು ಉತ್ತಮವಾಗಿದೆ, ಇದು ಪ್ಯಾರಾಮೀಟರ್ಗಳಂತೆ ಹೆಸರಿಸಲ್ಪಟ್ಟ ಅಸ್ಥಿರ ಮೌಲ್ಯಗಳನ್ನು ನಿಗದಿಪಡಿಸುವ ಕಾರ್ಯಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.)

ಶಿಫ್ಟ್ [ n ]

ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳನ್ನು n ಬಾರಿ ಬದಲಾಯಿಸಿ. ಒಂದು ಬದಲಾವಣೆಯು $ 2 ರ ಮೌಲ್ಯಕ್ಕೆ $ 2 ರ ಮೌಲ್ಯಕ್ಕೆ $ 2 ಮೌಲ್ಯವನ್ನು $ 3 ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ಹೀಗೆ $ 1 ಮೌಲ್ಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಸ್ಥಾನಿಕ ನಿಯತಾಂಕಗಳ ಸಂಖ್ಯೆಗಿಂತ N ಹೆಚ್ಚು ವೇಳೆ, ಶಿಫ್ಟ್ ದೋಷ ಸಂದೇಶವನ್ನು ಬಿಡುಗಡೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ರಿಟರ್ನ್ ಸ್ಟೇಟಸ್ 2 ರೊಂದಿಗೆ ನಿರ್ಗಮಿಸುತ್ತದೆ.

ಬಾರಿ

ಶೆಲ್ಗಾಗಿ ಸಂಗ್ರಹಿಸಲಾದ ಬಳಕೆದಾರ ಮತ್ತು ಸಿಸ್ಟಮ್ ಸಮಯಗಳನ್ನು ಮುದ್ರಿಸಿ ಮತ್ತು ಶೆಲ್ನಿಂದ ನಡೆಸುವ ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಮುದ್ರಿಸಿ. ರಿಟರ್ನ್ ಸ್ಟೇಟಸ್ 0 ಆಗಿದೆ.

ಬಲೆಗೆ ಸಿಗ್ನಲ್ ಸಿಗ್ನಲ್ ...

ನಿರ್ದಿಷ್ಟ ಸಿಗ್ನಲ್ಗಳನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ ಶೆಲ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಮತ್ತು ಕಾರ್ಯರೂಪಕ್ಕೆ ತರಲು ಕಾಸ್ ಮಾಡಿ. ಸಂಕೇತಗಳು ಸಂಕೇತ ಸಂಖ್ಯೆಯಿಂದ ಸೂಚಿಸಲ್ಪಟ್ಟಿವೆ. ಸಂಕೇತವು 0 ಆಗಿದ್ದರೆ ಶೆಲ್ ನಿರ್ಗಮಿಸಿದಾಗ ಕ್ರಿಯೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಕ್ರಿಯೆ ಶೂನ್ಯವಾಗಬಹುದು ಅಥವಾ `` - '' ಹಿಂದಿನದು ಸೂಚಿಸಲಾದ ಸಿಗ್ನಲ್ ಅನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುವುದು ಮತ್ತು ಎರಡನೆಯದು ಡೀಫಾಲ್ಟ್ ಕ್ರಿಯೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಕಾರಣವಾಗುತ್ತದೆ. ಒಂದು ಶೆಲ್ಹೆಲ್ನಿಂದ ಶೆಲ್ ಫೋರ್ಕ್ಗಳು, ಡೀಫಾಲ್ಟ್ ಕ್ರಮಕ್ಕೆ ಸಿಕ್ಕಿಬಿದ್ದ (ಆದರೆ ನಿರ್ಲಕ್ಷಿಸದ) ಸಂಕೇತಗಳನ್ನು ಮರುಹೊಂದಿಸುತ್ತದೆ. ಸಿಗ್ನಲ್ಗಳ ಮೇಲೆ ಬಲೆಯ ಆಜ್ಞೆಯು ಯಾವುದೇ ಪರಿಣಾಮವನ್ನು ಬೀರುವುದಿಲ್ಲ ಮತ್ತು ಶೆಲ್ ಪ್ರವೇಶಕ್ಕೆ ನಿರ್ಲಕ್ಷಿಸಲಾಗಿದೆ.

ಪ್ರಕಾರ [ ಹೆಸರು ... ]

ಪ್ರತಿ ಹೆಸರನ್ನು ಆಜ್ಞೆಯಂತೆ ವ್ಯಾಖ್ಯಾನಿಸಿ ಮತ್ತು ಆಜ್ಞೆಯ ಹುಡುಕಾಟದ ರೆಸಲ್ಯೂಶನ್ ಮುದ್ರಿಸಿ. ಸಂಭಾವ್ಯ ನಿರ್ಣಯಗಳು ಹೀಗಿವೆ: ಶೆಲ್ ಕೀವರ್ಡ್, ಅಲಿಯಾಸ್, ಶೆಲ್ ಬಿಲ್ಟಿನ್ , ಕಮಾಂಡ್, ಟ್ರ್ಯಾಕ್ಡ್ ಅಲಿಯಾಸ್ ಮತ್ತು ಕಂಡುಬಂದಿಲ್ಲ. ಅಲಿಯಾಸ್ಗಳಿಗಾಗಿ ಅಲಿಯಾಸ್ ವಿಸ್ತರಣೆಯನ್ನು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ; ಆಜ್ಞೆಗಳಿಗಾಗಿ ಮತ್ತು ಅಲಿಯಾಸ್ಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ ಆಜ್ಞೆಯ ಸಂಪೂರ್ಣ ಪಥನಾಮವನ್ನು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ.

ulimit [- ಎಚ್-ಎಸ್ ] [- a-tfdscmlpn [ ಮೌಲ್ಯ ]]

ಬಗ್ಗೆ ವಿಚಾರಿಸಿ ಅಥವಾ ಪ್ರಕ್ರಿಯೆಗಳ ಮೇಲೆ ಕಠಿಣ ಅಥವಾ ಮೃದುವಾದ ಮಿತಿಯನ್ನು ಹೊಂದಿಸಿ ಅಥವಾ ಹೊಸ ಮಿತಿಯನ್ನು ಹೊಂದಿಸಿ. ಹಾರ್ಡ್ ಮಿತಿ (ಉಲ್ಲಂಘಿಸಲು ಯಾವುದೇ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಅದು ಕಡಿಮೆಯಾದಾಗ ಒಮ್ಮೆ ಏರಿಸಲಾಗುವುದಿಲ್ಲ) ಮತ್ತು ಮೃದು ಮಿತಿ (ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಸಂಕೇತಗೊಳಿಸುವುದಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ ಆದರೆ ಅಗತ್ಯವಾಗಿ ಕೊಲ್ಲಲ್ಪಡುವುದಿಲ್ಲ, ಮತ್ತು ಅದನ್ನು ಬೆಳೆಸಿಕೊಳ್ಳಲಾಗುವುದಿಲ್ಲ) ನಡುವೆ ಆಯ್ಕೆ ಮಾಡಲಾಗುವುದು ಈ ಧ್ವಜಗಳು:

-H

ಹಾರ್ಡ್ ಮಿತಿಗಳ ಬಗ್ಗೆ ಸೆಟ್ ಅಥವಾ ವಿಚಾರಣೆ

-ಎಸ್

ಮೃದು ಮಿತಿಗಳ ಬಗ್ಗೆ ಸೆಟ್ ಮಾಡಿ ಅಥವಾ ವಿಚಾರಿಸಿ. ಯಾವುದೇ - H ಅಥವಾ S ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ, ಮೃದು ಮಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ಎರಡೂ ಮಿತಿಗಳನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತದೆ. ಎರಡೂ ಸೂಚಿಸಿದ್ದರೆ, ಕೊನೆಯದು ಗೆಲ್ಲುತ್ತದೆ.

ಈ ಧ್ವಜಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಒಂದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದರ ಮೂಲಕ ಪ್ರಶ್ನಿಸಲು ಅಥವಾ ಹೊಂದಿಸಲು ಮಿತಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ:

-ಎ

ಎಲ್ಲಾ ಪ್ರಸ್ತುತ ಮಿತಿಗಳನ್ನು ತೋರಿಸಿ

-t

ಸಿಪಿಯು ಸಮಯದ ಮಿತಿಯನ್ನು ತೋರಿಸಿ ಅಥವಾ ಹೊಂದಿಸಿ (ಸೆಕೆಂಡುಗಳಲ್ಲಿ)

-f

ಸೃಷ್ಟಿಸಬಹುದಾದ ಅತಿದೊಡ್ಡ ಕಡತದಲ್ಲಿ ಮಿತಿಯನ್ನು ತೋರಿಸಿ ಅಥವಾ ಹೊಂದಿಸಿ (512-ಬೈಟ್ ಬ್ಲಾಕ್ಗಳಲ್ಲಿ)

-d

ಪ್ರಕ್ರಿಯೆಯ ಡೇಟಾ ಸೆಗ್ಮೆಂಟ್ ಗಾತ್ರದ ಮಿತಿಯನ್ನು ತೋರಿಸಿ ಅಥವಾ ಹೊಂದಿಸಿ (ಕಿಲೋಬೈಟ್ಗಳಲ್ಲಿ)

-s

ಪ್ರಕ್ರಿಯೆಯ ಸ್ಟಾಕ್ ಗಾತ್ರದ ಮಿತಿಯನ್ನು ತೋರಿಸಿ ಅಥವಾ ಹೊಂದಿಸಿ (ಕಿಲೋಬೈಟ್ಗಳಲ್ಲಿ)

-c

ಉತ್ಪತ್ತಿ ಮಾಡಬಹುದಾದ ದೊಡ್ಡ ಕೋರ್ ಡಂಪ್ ಗಾತ್ರದ ಮೇಲೆ ಮಿತಿಯನ್ನು ತೋರಿಸಿ ಅಥವಾ ಹೊಂದಿಸಿ (512-ಬೈಟ್ ಬ್ಲಾಕ್ಗಳಲ್ಲಿ)

-m

ಒಂದು ಪ್ರಕ್ರಿಯೆಯಿಂದ (ಕಿಲೋಬೈಟ್ಗಳಲ್ಲಿ) ಬಳಸಬಹುದಾದ ಒಟ್ಟು ಭೌತಿಕ ಮೆಮೊರಿಯಲ್ಲಿ ಮಿತಿಯನ್ನು ತೋರಿಸಿ ಅಥವಾ ಹೊಂದಿಸಿ.

-l

mlock (2) ( ಕಿಲೋಬೈಟ್ಗಳಲ್ಲಿ ) ನೊಂದಿಗೆ ಪ್ರಕ್ರಿಯೆಯು ಎಷ್ಟು ಮೆಮೊರಿಯನ್ನು ಲಾಕ್ ಮಾಡಬಹುದೆಂದು ಮಿತಿಯನ್ನು ತೋರಿಸಿ ಅಥವಾ ಹೊಂದಿಸಿ.

-ಪಿ

ಈ ಬಳಕೆದಾರನು ಒಂದು ಸಮಯದಲ್ಲಿ ಹೊಂದಬಹುದಾದ ಪ್ರಕ್ರಿಯೆಗಳ ಸಂಖ್ಯೆಗೆ ಮಿತಿಯನ್ನು ತೋರಿಸು ಅಥವಾ ಹೊಂದಿಸಿ

-n

ಒಮ್ಮೆಗೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಾಗುವ ಫೈಲ್ಗಳ ಮಿತಿಯನ್ನು ತೋರಿಸಿ ಅಥವಾ ಹೊಂದಿಸಿ

ಇವುಗಳಲ್ಲಿ ಯಾವುದನ್ನೂ ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ, ತೋರಿಸಿದ ಅಥವಾ ಹೊಂದಿಸಲಾದ ಫೈಲ್ ಗಾತ್ರದ ಮಿತಿಯಾಗಿದೆ. ಮೌಲ್ಯವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ್ದರೆ, ಮಿತಿಯನ್ನು ಆ ಸಂಖ್ಯೆಗೆ ಹೊಂದಿಸಲಾಗಿದೆ; ಇಲ್ಲದಿದ್ದರೆ ಪ್ರಸ್ತುತ ಮಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ.

ಅನಿಯಂತ್ರಿತ ಪ್ರಕ್ರಿಯೆಯ ಮಿತಿಗಳು sysctl (8) ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರದರ್ಶಿಸಬಹುದು ಅಥವಾ ಹೊಂದಿಸಬಹುದು.

umask [ ಮುಖವಾಡ ]

Umask ನ ಮೌಲ್ಯವನ್ನು (umask (2) ನೋಡಿ) ನಿರ್ದಿಷ್ಟ ಅಷ್ಟಮಾನ ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಸಿ. ವಾದವನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟರೆ, umask ಮೌಲ್ಯವನ್ನು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ.

ಉನಾಲಿಯಾಸ್ [- ಒಂದು ] [ ಹೆಸರು ]

ಹೆಸರು ಸೂಚಿಸಿದ್ದರೆ, ಶೆಲ್ ಆ ಅಲಿಯಾಸ್ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಒಂದು ವೇಳೆ - ಒಂದು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ, ಎಲ್ಲಾ ಅಲಿಯಾಸ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.

ಹೊಂದಿಸದ ಹೆಸರು ...

ನಿರ್ದಿಷ್ಟವಾದ ಅಸ್ಥಿರ ಮತ್ತು ಕಾರ್ಯಗಳನ್ನು ಹೊಂದಿಸದೆ ಮತ್ತು ರಫ್ತು ಮಾಡಲಾಗುವುದಿಲ್ಲ. ನಿರ್ದಿಷ್ಟ ಹೆಸರು ಒಂದು ವೇರಿಯೇಬಲ್ ಮತ್ತು ಒಂದು ಕಾರ್ಯಕ್ಕೆ ಅನುಗುಣವಾಗಿದ್ದರೆ, ವೇರಿಯೇಬಲ್ ಮತ್ತು ಫಂಕ್ಷನ್ ಎರಡೂ ಹೊಂದಿಸಲ್ಪಡುತ್ತವೆ.

ಕಾಯಿರಿ [ ಕೆಲಸ ]

ಕೆಲಸದ ಕೊನೆಯ ಪ್ರಕ್ರಿಯೆಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಮತ್ತು ಹಿಂದಿರುಗಿಸಲು ನಿಗದಿತ ಕೆಲಸಕ್ಕಾಗಿ ನಿರೀಕ್ಷಿಸಿ. ವಾದವನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟರೆ, ಎಲ್ಲಾ ಉದ್ಯೋಗಗಳು ಪೂರ್ಣಗೊಳ್ಳಲು ನಿರೀಕ್ಷಿಸಿ ಮತ್ತು ಶೂನ್ಯದ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಹಿಂದಿರುಗಿಸಿ.

ಕಮಾಂಡ್ ಲೈನ್ ಎಡಿಟಿಂಗ್

ಟರ್ಮಿನಲ್ನಿಂದ ಶ್ಯಾ ಅನ್ನು ಸಂವಹನ ಮಾಡಿದಾಗ, ಪ್ರಸ್ತುತ ಆಜ್ಞೆ ಮತ್ತು ಕಮಾಂಡ್ ಇತಿಹಾಸವನ್ನು (ಎಸ್ಎಕ್ಸ್ ಬಿಟಿನ್ಸ್ನಲ್ಲಿ ಎಫ್ಸಿ ನೋಡಿ) ಅನ್ನು ವಿ-ಮೋಡ್ ಕಮಾಂಡ್-ಲೈನ್ ಎಡಿಟಿಂಗ್ ಬಳಸಿ ಸಂಪಾದಿಸಬಹುದು. ಈ ಕ್ರಮವು ಕೆಳಗೆ ವಿವರಿಸಿರುವ ಆದೇಶಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಇದು VI ಮ್ಯಾನ್ ಪುಟದಲ್ಲಿ ವಿವರಿಸಲಾದ ಒಂದು ಉಪವಿಭಾಗವನ್ನು ಹೋಲುತ್ತದೆ. `ಸೆಟ್ 'ಆಜ್ಞೆಯು vi- ಮೋಡ್ ಎಡಿಟಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ ಮತ್ತು vi ಸೇರಿಸಿ ಇನ್ಸರ್ಟ್ ಮೋಡ್ ಆಗಿರುತ್ತದೆ. Vi- ಮೋಡ್ ಅನ್ನು ಶಕ್ತಗೊಳಿಸಿದಾಗ, ಇನ್ಸರ್ಟ್ ಮೋಡ್ ಮತ್ತು ಕಮಾಂಡ್ ಮೋಡ್ ನಡುವೆ sh ಅನ್ನು ಬದಲಾಯಿಸಬಹುದು. ಸಂಪಾದಕವನ್ನು ಇಲ್ಲಿ ಪೂರ್ಣವಾಗಿ ವಿವರಿಸಲಾಗಿಲ್ಲ, ಆದರೆ ನಂತರದ ಡಾಕ್ಯುಮೆಂಟ್ನಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ. ಇದು vi ಗೆ ಹೋಲುತ್ತದೆ: ಟೈಪ್ ಆಕ್ ಇಎಸ್ಸಿ ನಿಮ್ಮನ್ನು ಕಮಾಂಡ್ VI ಕಮ್ಯಾಂಡ್ ಮೋಡ್ಗೆ ಎಸೆಯುತ್ತದೆ. ಕಮಾಂಡ್ ಮೋಡ್ನಲ್ಲಿರುವಾಗ ಆಕ್ ರಿಟರ್ನ್ ಹೊಡೆಯುವುದು ಶೆಲ್ ಗೆ ಹಾದುಹೋಗುತ್ತದೆ.

ನೆನಪಿಡಿ: ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಗಣಕದಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ಹೇಗೆ ಬಳಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನೋಡಲು man ಆದೇಶ ( % man ) ಅನ್ನು ಬಳಸಿ.