su -c命令

回到首頁☞

軟件即服務,開發即客服,今天自動化平臺用到一個用戶問題,用戶反饋通過自動化平臺執行任務成功。但是腳本未達到預期效果。
簡單來說,下發了自動化任務 x.sh,x.sh做了如下動作:
su -aa
sh /data01/…/B.sh
因爲執行引擎是兩個人開發,雖然主攻java,但是用戶的各種問題操作問題還是要解決。
於是讓用戶改爲了 su -aa -c “sh /data01/…/B.sh”

查詢下資料做下歸檔:

1.命令作用

su的作用是變更爲其它使用者的身份,超級用戶除外,需要鍵入該使用者的密碼。

2.使用方式

su [-fmp] [-c command] [-s shell] [–help] [–version] [-] [USER [ARG]]

3.參數說明

  • -f , –fast:不必讀啓動文件(如 csh.cshrc 等),僅用於csh或tcsh兩種Shell。

  • -l , –login:加了這個參數之後,就好像是重新登陸一樣,大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)爲主,並

且工作目錄也會改變。如果沒有指定USER,缺省情況是root。

  • -m, -p ,–preserve-environment:執行su時不改變環境變數。

  • -c command:變更賬號爲USER的使用者,並執行指令(command)後再變回原來使用者。

  • –help 顯示說明文件

  • –version 顯示版本資訊

  • USER:欲變更的使用者賬號,

  • ARG: 傳入新的Shell參數。

4.例子

su -c ls root 變更帳號爲 root 並在執行 ls 指令後退出變回原使用者。

su [用戶名]

a>在root用戶下, 輸入 su 普通用戶. 則切換至普通用戶, 從root切換到變通用戶不需要密碼

b>在普通用戶下, 輸入 su [用戶名]
提示 password:
輸入用戶的PASSWORD, 則切換至該用戶

5、Linux下 su命令與su - 命令有什麼區別?

su 是切換到其他用戶,但是不切換環境變量(比如說那些export命令查看一下,就知道兩個命令的區別了)

su - 是完整的切換到一個用戶環境

所以建議大家切換用戶的時候,儘量使用 su - linuxso 這樣 否則可能發現某些命令執行不了

6、自動化執行引擎使用案例

  • 安裝插件
  • 切換oracle 賬號自動執行sql
  • 調用外部腳本執行一些命令

回到首頁☞

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章