shell 指令碼中,通常會使用相對路徑來做處理,但有時候,我們也許需要用到絕對路徑。 在shell怎麼擷取一個檔案或目錄的絕對路徑呢。 也許你會立馬想到realpath(如果你寫過php的話),那麼shell支援這個命令嗎。看一下這裡你就知道了。 Realpath appears to come from debian, and is not part of coreutils,Realpath appears not to be standard issue.
linux shell指令碼的編寫 vi test.sh #!/bin/bash ################### . /etc/profile . ~/.bash_profile ################## PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin cd /home/huaxia/syslog2db&&
用途說明 在執行Linux命令時,我們可以把輸出重新導向到檔案中,比如 ls >a.txt,這時我們就不能看到輸出了,如果我們既想把輸出儲存到檔案中,又想在螢幕上看到輸出內容,就可以使用tee命令了。tee命令讀取標準輸入,把這些內容同時輸出到標準輸出和(多個)檔案中(read from standard input and write to standard output and files. Copy standard input to each FILE, and also
su 和 su - 的區別 前者只是切換了身份,但SHELL環境仍然是原使用者的SHELL;而後者連使用者和SHELL環境一起切換成新使用者的了。只有切換了SHELL環境才不會出現PATH環境變數錯誤。 具體案例: 有人用root登陸。然後切換到oracle使用者下,執行sqlplus 命令卻報錯:?command not found!
經常在寫shell指令碼時,會碰到要以另外一個使用者來執行相關命令,其方法簡單記下: 1、執行單個命令:su - user -c "command" 如:下面命令是以test使用者在/data目錄下建立test123目錄 [root@slave19 /data]# su - test -c "mkdir /data/test123" 2、執行批量命令:su - user -s