در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش لینوکس : مدیریت سیستم قسمت 2 : Shell سفارشی : تنظیمات Shell

سلام و وقت بخیر. در این جلسه به بررسی بعضی از تنطیمات shell میپردازیم. برای دیدن اینکه shell چه تنظیمانی دارد از دستور زیر استفاده کنید.

[root@CentOS6 ~]# set -o
allexport      	off
braceexpand    	on
emacs          	on
errexit        	off
errtrace       	off
functrace      	off
hashall        	on
histexpand     	on
history        	on
ignoreeof      	off
interactive-comments	on
keyword        	off
monitor        	on
noclobber      	off
noexec         	off
noglob         	off
nolog          	off
notify         	off
nounset        	off
onecmd         	off
physical       	off
pipefail       	off
posix          	off
privileged     	off
verbose        	off
vi             	off
xtrace         	off

برای روشن کردن یک option از set -o به همراه نام option و برای خاموش کردن آن از set +o و نام آن option استفاده میکنیم.

[root@CentOS6 ~]# set -o allexport //روشن کردن
[root@CentOS6 ~]# set +o allexport //خاموش کردن

این allexport باعث میشود اگر یک با چند subshell درست کردیم، بلافاصله تمام متغیر های شل پدر در آن کپی میشود و دیگر نیاز نیست دستی، تک تک متغیر ها را export کنیم.

[root@CentOS6 ~]# set -o allexport
[root@CentOS6 ~]# var1=amy
[root@CentOS6 ~]# var2=taylor
[root@CentOS6 ~]# bash
[root@CentOS6 ~]# echo $var1; echo $var2
amy
taylor
[root@CentOS6 ~]# 

یا مثلا اگر درون یک subshell باشیم، دکمه کنترل و d را فشار دهیم، از subshell خارج میشود. برای خاموش کردن این shortkey از یک option به نام ignoreeof استفاده میکنیم.

[root@CentOS6 ~]# set -o allexport
[root@CentOS6 ~]# var1=amy
[root@CentOS6 ~]# var2=taylor
[root@CentOS6 ~]# bash
[root@CentOS6 ~]# echo $var1; echo $var2
amy
taylor
[root@CentOS6 ~]# 
[root@CentOS6 ~]# exit
[root@CentOS6 ~]# set -o ignoreeof
[root@CentOS6 ~]# bash
[root@CentOS6 ~]# Use "exit" to leave the shell.  //اینجا کنترل و دی زده بودم که خطا داد
[root@CentOS6 ~]# 
[root@CentOS6 ~]# exit // اینجا کلمه خروج رو نوشتم تا خارج بشه
exit
[root@CentOS6 ~]# 
[root@CentOS6 ~]# 

یا یک option دیگر مثل noclober باعث میشود که نتوان در یک فایل overwrite کرد. البته میتوان با کمی تغییر دستور این overwrite را force کرد ولی این option بیشتر جنبه احتیاطی و هشدار دادن دارد. به مثال توجه کنید.

[root@CentOS6 ~]# ls > file1
[root@CentOS6 ~]# ls > file1
[root@CentOS6 ~]# ls > file1   // قبل از روشن کردن میتوان روی فایل قبلی نوشت
[root@CentOS6 ~]# set -o noclobber
[root@CentOS6 ~]# ls > file1
bash: file1: cannot overwrite existing file   // خطا میدهد که نمیتوانید روی فایلی که محتوا دارد بنویسید
[root@CentOS6 ~]# ls > file2
[root@CentOS6 ~]# ls > file2
bash: file2: cannot overwrite existing file
[root@CentOS6 ~]# ls >| file2   // با گذاشتن یک پایپ این عمل نوشتن رو فایل را فورس کردم
[root@CentOS6 ~]# 

ضمیمه : دستور ls محتویات مسیری که هستیم را نشان میدهد. (امتحان کنید). یعنی نام فایل و ها پوشه های مسیری که در آنیم را نشان میدهد. با < خروجی این دستور رو ریختم تو یه فایل یه اسم مثلا file1 .... حالا با دستور cat file1 محتوبات این فایل را ببینید.

[root@CentOS6 ~]# ls
a                d          file1  nohup.out         proje.sh  Templates  VMwareTools-10.0.6-3595377.tar.gz
anaconda-ks.cfg  Desktop    file2  Pictures          Public    test
b                Documents  IFS    post-install      sfk       Videos
c                Downloads  Music  post-install.log  temp      vm
[root@CentOS6 ~]# ls > file1
[root@CentOS6 ~]# cat file1
a
anaconda-ks.cfg
b
c
d
Desktop
Documents
Downloads
file1
file2
IFS
Music
nohup.out
Pictures
post-install
post-install.log
proje.sh
Public
sfk
temp
Templates
test
Videos
vm
VMwareTools-10.0.6-3595377.tar.gz
[root@CentOS6 ~]# 

پایان قسمت دوم از بخش اول

نویسنده : سید محمد باقر موسوی

منبع : جزیره لینوکس و سیستم های متن باز وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

#دوره_آموزشی_linux_فارسی #نوشتن_shell_script_در_لینوکس #آموزش_لینوکس_فارسی #آموزش_linux_مقدماتی #آموزش_shell_scripting #آموزش_دستورات_مقدماتی_لینوکس #آموزش_shell_scripting_در_لینوکس #دوره_آموزشی_shell_scripting_در_لینوکس #نوشتن_یک_shell_script_ساده
عنوان
1 آموزش لینوکس : مدیریت سیستم : قسمت 1 : Shell سفارشی : متغیرها رایگان
2 آموزش لینوکس : مدیریت سیستم قسمت 2 : Shell سفارشی : تنظیمات Shell رایگان
3 آموزش لینوکس : مدیریت سیستم : قسمت 3 : Shell سفارشی : Aliases رایگان
4 آموزش لینوکس : مدیریت سیستم : قسمت 4: Shell سفارشی: Login Scripts رایگان
5 آموزش لینوکس : مدیریت سیستم : قسمت 5 : ایجاد اسکریپت رایگان
6 آموزش لینوکس : مدیریت سیستم : قسمت 5 : Read User Input رایگان
7 آموزش لینوکس : مدیریت سیستم : قسمت 6 : IF Statement رایگان
8 آموزش لینوکس : مدیریت سیستم : قسمت 7 : Case Statement رایگان
9 آموزش لینوکس : مدیریت سیستم : قسمت 8 : Loops رایگان
10 آموزش لینوکس : مدیریت سیستم : قسمت 9 : Managing Users رایگان
11 آموزش لینوکس : مدیریت سیستم : قسمت 10 : Managing Groups رایگان
12 آموزش لینوکس : مدیریت سیستم : قسمت 11 : ارتباط با اکتیودایرکتوری رایگان
13 آموزش لینوکس : مدیریت سیستم : قسمت 12 : OpenLDAP رایگان
14 آموزش لینوکس : مدیریت سیستم : قسمت 13 : Cron AnaCron و Batch رایگان
15 آموزش لینوکس : مدیریت سیستم : قسمت 14 : آشنایی با IPTables رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....