0
A
回答
1
別名(如使用alias name=value
設置)是只有用於交互式環境中,即當用戶在命令行輸入某些內容時。他們是從未(除非非交互的shell明確調整,以做到這一點使用shopt -s expand_aliases
)由腳本執行:
#!/bin/bash
alias ttt=date
ttt # will fail!
採購配置腳本定義別名不會改變這事。腳本根本不會執行別名。
達到你想要什麼,重寫你的別名作爲外殼的功能:
#!/bin/bash
ttt() {
date
}
ttt # will succeed!
殼牌功能可完全替代別名,但也有一些更多的東西來了解和考慮:
- 你甚至可以導出shell函數,以便子shell也擁有它們。爲此,請使用
export -f ttt
。 - Shell函數可以覆蓋其他命令,因此它們可能會干擾腳本的行爲(與腳本中執行的別名從不不同)。請記住這一點,以防計劃重寫諸如
cd
或ls
之類的內容。 - 可以通過調用它作爲
builtin cd /my/direc/tory
來覆蓋內置的外殼(例如cd
)。 - 參數處理與別名完全不同(功能更強大)。
相關問題
- 1. 在shell腳本中執行php腳本?
- 2. 在別名中執行腳本
- 3. 執行shell腳本
- 4. 執行shell腳本
- 5. shell腳本的別名
- 6. 執行n行shell腳本
- 7. 無法在php中執行shell腳本
- 8. 在PHP中執行shell腳本
- 9. 在ubuntu中執行shell腳本
- 10. 在Applescript中執行shell腳本嗎?
- 11. 如何在cygwin中執行shell腳本?
- 12. 在Gradle中執行shell腳本
- 13. shell腳本在步驟中執行
- 14. 在zip存檔中執行shell腳本
- 15. 在Applescript中執行Shell腳本問題
- 16. 在shell腳本中執行MySQL命令?
- 17. 在shell腳本中執行mailx命令
- 18. 在shell中執行相同的腳本
- 19. 在shell腳本中執行linux命令
- 20. 在shell腳本中執行shellscript
- 21. shell腳本中的別名幫助
- 22. 從shell腳本執行symbolicatecrash
- 23. 難執行shell腳本
- 24. 從shell執行R腳本
- 25. 未執行shell腳本
- 26. 從shell腳本執行SQL
- 27. 執行shell腳本程序
- 28. 從mac執行Shell腳本
- 29. 無法執行shell腳本
- 30. shell腳本的Ruby腳本執行
別名不導出子殼 – anubhava
有什麼方法導出的別名 – Mohan
您需要在相同的別名文件源腳本,比如'源的〜/ .alias' – anubhava