shell 獲取前一條命令是否執行成功git
if [ $? -eq 0 ];then echo "success" fi
shell 獲取一條命令是否執行成功,失敗則報錯停止(與判斷$?相比,寫起來簡便一些)shell
xxx || exit 1
git版本號(git自己沒有數值版本號,能夠根據提交次數來當作版本號)ubuntu
echo $((`git rev-list --all|wc -l`))
使用tail命令的-f選項能夠方便的查閱正在改變的日誌文件數組
例如,查看tomcat實時日誌tomcat
tail -f catalina.out
ubuntu 切換root用戶ssh
sudo su
ubuntu server掛載u盤url
#列出磁盤設備 fdisk -l #找到u盤設備,好比/dev/sdb1,掛截它 mount /dev/sdb1 /mnt #此時mnt目錄就是u盤的目錄
給一個腳本添加可執行權限spa
chmod +x ./xxx.sh
shell腳本的當前目錄。在一個shell腳本中,執行另外一個shell腳本,只寫相對於當前shell腳本的「相對路徑」是不夠的。日誌
應該先執行一下如下腳本,將當前目錄切換到當前所執行的腳本下。code
DIR="$( cd "$( dirname "$0" )" && pwd )" cd $DIR
檢測ip端口是否連通
telnet ip port telnet 192.168.2.165 1112
git統計項目中某人的提交次數
git log --author="趙佔濤" | grep "commit" | wc -l
將命令執行的輸出信息,賦給變量
var=$(命令) #等號左右不能有空格
文件下載,將文件下載到當前路徑
wget url
數組
array=( value1 value2 value3 ... )
列出當前目錄下全部文件(遞歸,帶路徑)
find . -name "*" 或 find . -name "*.csd"
作加減法
a=1 echo $a #輸出1 echo $a-1 #輸出1-1 echo $[$a-1] #輸出0
文件同步 rsync
rsync -avz --delete --exclude=languageRes --exclude=UpdatePlist $projPath/res/ ./tmpData/$toPath/res/
ubuntu安裝ssh服務
sudo apt-get install openssh-server
shell中管道符後面的命令會被看成子命令,子命令裏的操做不會影響到原來的命令.