1拳喻、bash配置文件:
全局:
/etc/profile, /etc/profile.d/*, /etc/bashrc
個人:
~/.bash_profile, ~/.bashrc, ~/.bash_history
bash的運行方式:
交互式(terminal中):/etc/profile --> /etc/profile.d/* --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
非交互式:如某時刻未登錄也要自動執(zhí)行的腳本
~/.bashrc --> /etc/bashrc --> /etc/profile.d/*哭当,至此結(jié)束
2、bash輸入輸出冗澈、管道
程序的默認輸入叫標準輸入-->stdin钦勘,鍵盤, 0(文件描述符)
程序的默認輸出設(shè)備叫標準輸出-->stdout,monitor, 1
程序的默認錯誤信息輸出設(shè)備叫標準錯誤輸出-->stderr亚亲,monitor, 2
2.1重定向
2.1.1輸出
格式:COMMAND > FILE, 覆蓋輸出彻采,選錯目標文件就慘了腐缤,因此不安全
為了安全先使用:set -C(set +C則相反)
使用 >| 則強行覆蓋
使用** COMMAND >> FILE,追加輸出**
/dev/null是什么肛响?--->數(shù)據(jù)黑洞(軟件模擬的設(shè)備岭粤,吞數(shù)據(jù))
/dev/zero-->泡泡機(吐0的,吐數(shù)據(jù))/dev/urandom-->隨機數(shù)生成器
2.1.2輸入
格式:COMMAND < FILE, eg: tr 'a-z' 'A-Z' < /etc/passwd
COMMAND << "EOF": Here document特笋,腳本中常用剃浇,生產(chǎn)文檔的。,比如以下腳本猎物,用于給予用戶選項
#!/bin/bash cat << EOF what do you want to eat? 1, shaoji 2, longxia 3, dazhaxia 4, gun EOF
執(zhí)行代碼 bash second.sh偿渡,得到如下結(jié)果:
web@web-design:~/Shell_Programming$ bash second.sh what do you want to eat? 1, shaoji 2, longxia 3, dazhaxia 4, gun