linux腳本中的
家目錄/用戶目錄。比如:我的用戶名是user,那一般我的家目錄就是/home/user/,裡面是我的文件和設置。#就是指的這個目錄,你可以試試,在終端或者終端模擬器裡面輸入cd #,就可以直接到達你的用戶目錄。
Ⅱ 下面的linux shell腳本中的 $#和-ne是什馬意思嗎求指教。
$# 表示運行腳本時所帶的參數數目,不含腳本文件名自身。
這里的 "Usage: $0 match_text filename" 也說明了運行此腳本需要跟兩個參數。
-ne 表示 not equal,即 不相等。
也就是說,腳本參數不等於2,就提示正確的使用方法並用exit 1退出腳本執行。
Ⅲ Linux Shell鑴氭湰緋誨垪鏁欑▼:緇堢鎵撳嵃鍛戒護璇﹁В
榪欑瘒鏂囩珷涓昏佷粙緇嶄簡Linux Shell鑴氭湰緋誨垪鏁欑▼(浜)錛氱粓絝鎵撳嵃鍛戒護璇﹁В,鏈鏂囩潃閲嶈茶В浜唀cho緇堢鎵撹嫳printf緇堢鎵撳嵃涓や釜鎵撳嵃鍑鴻緭鍑哄懡浠,闇瑕佺殑鏈嬪弸鍙浠ュ弬鑰冧笅
緇堢鎵撳嵃
緇堢鏄浜や簰寮忓伐鍏鳳紝鐢ㄦ埛鍙浠ラ氳繃瀹冧笌shell鐜澧冭繘琛屼氦浜掋傚湪緇堢涓鎵撳嵃鏂囨湰鏄澶у氭暟shell鑴氭湰鍜屽伐鍏鋒棩甯擱渶瑕佹墽琛岀殑鍩烘湰浠誨姟銆傞氳繃緇堢鎵撳嵃錛屼漢浠鍙浠ョ煡閬撶郴緇熺殑榪愯岀姸鎬侊紝榪欏圭敤鎴鋒潵璇存槸鑷沖叧閲嶈佺殑銆
echo緇堢鎵撳嵃
浠g爜濡備笅:
echo "Welcome to Bash"
echo 'Welcome to Bash'
echo Welcome to Bash
浠ヤ笂涓夌嶆柟娉曠殑鏁堟灉鏄涓鏍風殑錛岃緭鍑哄唴瀹歸兘鏄鈥淲elcome to Bash鈥,騫跺湪鏈灝炬坊鍔犳崲琛岀︺傚湪榛樿ゆ儏鍐典笅錛宔cho鍦ㄦ瘡嬈¤皟鐢ㄥ悗浼氭坊鍔犱竴涓鎹㈣岀︼紝鑰屾棤闇鎵嬪姩杈撳叆鎹㈣岀︺傛ゅ勶紝寤鴻鍏繪垚涓縐嶄範鎯錛屽逛簬鍏朵粬鐨勬柟娉曚簡瑙e嵆鍙銆
浣跨敤鍙屽紩鍙鋒椂鐨勯檺鍒
浣跨敤鍙屽紩鍙瘋緭鍑哄瓧絎︿覆鏃訛紝瀛楃︿覆鍐呬笉鑳藉惈鏈夌壒孌婂瓧絎(!),鎴栬呰佸湪鐗規畩瀛楃﹀墠鍔犺漿涔夊瓧絎/銆備嬌鐢ㄥ崟寮曞彿鎴栬呬笉浣跨敤寮曞彿錛屼篃鍙浠ユe父杈撳嚭鐗規畩瀛楃︺
浠g爜濡備笅:
echo "cannot include !" #榪欑嶆儏鍐典笅灝嗕細鎶ラ敊
echo "cannot include /!" #榪欑嶆儏鍐典笅鍙浠ユe父杈撳嚭!
echo cannot include ! #榪欑嶆儏鍐典笅鍙浠ユe父杈撳嚭!
echo 'cannot include !' #榪欑嶆儏鍐典笅鍙浠ユe父杈撳嚭!
浣跨敤鍗曞紩鍙風殑闄愬埗
鍦ㄤ嬌鐢ㄥ崟寮曞彿杈撳嚭瀛楃︿覆鏃訛紝鍙橀噺鏇挎崲灝嗕細澶辨晥銆備嬌鐢ㄥ弻寮曞彿鎴栬呬笉浣跨敤寮曞彿鍙浠ユe父杈撴愮洴鍑鴻鏇挎崲鐨勫彉閲忋
浠g爜濡備笅:
var="abcd"
echo '1234$var' #榪欑嶆儏鍐典笅灝嗚緭鍑 1234$var
echo 1234$var #榪欑嶆儏鍐典笅灝嗚緭鍑 1234abcd
echo "1234$var" #榪欑嶆儏鍐典笅灝嗚緭鍑 1234abcd
涓嶄嬌鐢ㄥ紩鍙鋒椂鐨勯檺鍒
鍦ㄤ笉浣跨敤寮曞彿杈撳嚭瀛楃︿覆鐨勬儏鍐典笅錛屾棤娉曟樉紺哄垎鍙(;)錛屽洜涓哄垎鍙峰湪Bash涓琚鐢ㄤ綔鍛戒護瀹氱晫絎︺備嬌鐢ㄥ崟寮曞彿鎴栬呭弻寮曞彿鍙浠ヨ緭鍑哄垎鍙楓
浠g爜濡備笅:
echo hello;hello #絎涓涓猦ello琚褰撴垚瀛楃︿覆杈撳嚭錛岀浜屼釜琚褰撴垚鍛戒護
printf緇堢鎵撳嵃
printf浣跨敤鐨勫弬鏁板拰C璇璦涓鐨刾rintf鍑芥暟涓鏍鳳紝浣跨敤寮曠敤鏂囨湰鎴栫敱絀烘牸鍒嗛殧鐨勫弬鏁般傚湪printf鍑芥暟涓錛屾垜浠鍙浠ヤ嬌鐢ㄦ牸寮忓寲瀛楃︿覆錛屾寚瀹氬瓧絎︿覆鐨勫藉害銆佸乏鍙沖歸綈鏂瑰紡絳夈傚湪榛樿ゆ儏鍐典笅錛宲rintf涓嶄細鍦ㄨ屽熬娣誨姞鎹㈣岀︼紝闇瑕佹墜鍔ㄦ坊鍔犮
浠g爜濡備笅:
printf "Hello world" #浣跨敤寮曠敤瀛楃
printf "%-5s %-10s %-4s/n" No Name Mark #鎸囧畾瀹藉害鍙婂乏瀵歸綈鏂瑰紡
printf "%-5s %-10s %-4s/n" 1 Sarath 80.3456
宸ヤ綔鍘熺悊
%s,%c,%d,%f閮芥槸鏍煎紡鏇挎崲瀛楃︼紝鍏舵墍瀵瑰簲鐨勫弬鏁板彲浠ョ疆浜庡甫寮曞彿鐨勬牸寮忓瓧絎︿覆涔嬪悗銆
%-5s鎸囨槑浜嗕竴涓鏍煎紡涓哄乏瀵歸綈涓斿藉害涓5鐨勫瓧絎︿覆鏇挎崲錛-琛ㄧず宸﹀歸綈錛岃嫢涓嶆寚瀹氬歸綈鏂瑰紡錛屽垯榛樿ら噰鐢ㄥ彸瀵歸綈鏂瑰紡銆傚藉害鎸囧畾浜嗕繚鐣欑粰鏌愪釜鍙橀噺鐨勫瓧絎︽暟錛屽傛灉瑕佽緭鍑虹殑鍐呭瑰藉害涓嶈凍錛屽垯鐢ㄧ┖鏍煎~鍏咃紝鑻ュ氫簬鎸囧畾瀹藉害錛屽垯瓚呭嚭閮ㄥ垎琚涓㈠純銆
%4.2f琛ㄧず鎸囧畾灝忔暟鍙浠ヤ繚鐣欎袱涓灝忔暟浣嶏紝瑕佹敞鎰忕殑鏄4騫朵笉浠h〃鏁存暟閮ㄥ垎鐨勪綅鏁幫紝涔熶笉浠h〃鏁存暟浣嶅拰灝忔暟浣嶇殑鍜屻
娉ㄦ剰:浣跨敤echo鍜宲rintf鐨勫懡浠ら夐」鏃訛紝瑕佷繚璇侀夐」鍑虹幇鍦ㄥ懡浠よ屽唴鎵鏈夊瓧絎︿覆涔嬪墠錛屽惁鑰匓ash浼氬皢閫夐」瑙嗕負鍙︿竴涓瀛楃︿覆銆
琛ュ厖鍐呭
鍦╡cho涓浣跨敤杞涔夊瓧絎
鍦ㄩ粯璁ゆ儏鍐典笅錛宔cho浼氳嚜鍔ㄥ湪杈撳嚭瀛楃︿覆鏈灝炬坊鍔犳崲琛岀︼紝鍙浠ヤ嬌鐢-n閫夐」鏉ュ拷鐣ョ粨灝劇殑璁╂槑緹℃崲琛岀︺俥cho鍚屾牱鎺ュ彈鍙屽紩鍙峰瓧絎︿覆鍐呯殑杞涔夊簭鍒椾綔涓哄弬鏁般傚傛灉闇瑕佷嬌鐢ㄨ漿涔夊簭鍒楋紝鍒欓噰鐢╡cho -e 鈥滃寘鍚杞涔夊簭鍒楃殑瀛楃︿覆鈥濊繖縐嶅艦寮,鍦╱buntu14.04涓錛屼笉闇瑕佹坊鍔-e閫夐」,鑻ユ坊鍔狅紝鍒-e閫夐」浼氳浣滀負瀛楃︿覆鐨勪竴閮ㄥ垎鍧︽媿杈撳嚭銆
浠g爜濡備笅:
echo "Hello World" #灝嗗湪鏈灝炬坊鍔犳崲琛岀
echo -n "Hello Wordl" #鏈灝句笉浼氭坊鍔犳崲琛岀
echo -e "1/t2/t3" #灝嗚緭鍑 -e 1 2 3
echo "1/t2/t3" #灝嗚緭鍑1 2 3
鎵撳嵃褰╄壊杈撳嚭
鍦ㄧ粓絝涓鐢熸垚棰滆壊杈撳嚭錛屾湁鍔╀簬鎴戜滑浠庡ぇ閲忔枃鏈涓蹇閫熷畾浣嶇壒瀹氱殑淇℃伅錛屾垜浠鍙浠ヤ嬌鐢ㄨ漿涔夊簭鍒楁潵瀹炵幇棰滆壊杈撳嚭銆
姣忕嶆枃鏈棰滆壊閮芥湁瀵瑰簲鐨勯滆壊鐮併
浠g爜濡備笅:
echo -e "/e[1;31m This is red text /e[0m"
echo -e "/e[1;41m This is red background /e[0m"
#ubuntu14.04涓嶆敮鎸佽繖縐嶆柟寮忔敼鍙樻枃鏈鎴栬呰儗鏅棰滆壊
Ⅳ Linux shell 腳本中, $@ 和$# 分別是什麼意思
直接看示例:
[root@localhost xly]# cat t.sh
#!/bin/bash
echo $#
echo $@
[root@localhost xly]# sh t.sh
0
[root@localhost xly]# sh t.sh a b c
3
a b c
說明:
$@表示所有參數
$#表示所有參數的個數
Ⅳ Linux shell鑴氭湰涓榪炴帴瀛楃︿覆鐨勬柟娉
榪欑瘒鏂囩珷涓昏佷粙緇嶄簡Linux shell鑴氭湰涓榪炴帴瀛楃︿覆鐨勬柟娉,澶у跺弬鑰冧嬌鐢ㄥ惂
濡傛灉鎯寵佸湪鍙橀噺鍚庨潰娣誨姞涓涓瀛楀崠鍥扮﹀紛閰嶅厗錛屽彲浠ョ敤涓涓嬫柟娉曪細
浠g爜濡備笅:
$value1=home
$value2=${value1}"="
echo $value2
鎶婅佹坊鍔犵殑瀛楃︿覆鍙橀噺娣誨姞{}錛屽苟涓旈渶瑕佹妸$鏀懼埌澶栭潰銆
榪欐牱杈撳嚭鐨勭粨鏋滄槸錛歨ome=錛屼篃灝辯熺熸槸璇磋繛鎺ユ垚鍔熴
鍙堝傦細
浠g爜濡備笅:
[root@localhost sh]# var1=/etc/
[root@localhost sh]# var2=yum.repos.d/
[root@localhost sh]# var3=${var1}${var2}
[root@localhost sh]# echo $var3
/etc/yum.repos.d/
Ⅵ 請教會linux shell腳本的=~是什麼意思
應該是正則表達式的字元判斷
if [[ $i =~ ^[0-9]+$ ]] && echo 1
1、^是匹配字元串開始的意思,[0-9]只要不是數字都不要。
2、~ +的意思的^[0-9]的范圍里匹配一次以上+ $是匹配結束符。
touch -t "201109021200.00" tempfile
使用引號內的時間戳在當前目錄建立一個叫tempfile的文件
find -name "*VIRTUALID*" -newer tempfile -exec cp {} /home/wbft/luo ;
(6)linux腳本中的擴展閱讀:
實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程序。
Shell編程語言具有普通編程語言的很多特點,比如它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。
Ⅶ linux腳本里的「#!」是什麼意思
家目錄百/用戶目錄。比如:我的用戶名是user,那一般我的家目錄就度是/home/user/,裡面是我的文件和設置。問#就是指的這個目錄,你可答以試試,在終端或者終內端模擬器裡面輸入cd
#,就容可以直接到達你的用戶目錄。