我可以在Linux中为长控制台命令创建快捷方式吗?

问题描述:

我经常喜欢一些很长的控制台命令:我可以在Linux中为长控制台命令创建快捷方式吗?

python /var/www/closure-library/closure/bin/calcdeps.py \ 
-i myJSFile.js \ 
-p ../closure-library/closure/goog/ \ 
-o compiled \ 
-c /var/www//closure-compiler/build/compiler.jar \ 
-f "--compilation_level=ADVANCED_OPTIMIZATIONS" \ 
-f "--define=goog.LOCALE='de'" > myOutputFile.js 

,我想简单地使用:

closure -i myJSFile.js -o myOutputFile.js 

什么simmilar。我怎样才能做到这一点?

在shell的联机帮助页中查找aliases

也许是这样的:

alias closure='python /var/www/closure-library/closure/bin/calcdeps.py -p ../closure-library/closure/goog/ -c /var/www//closure-compiler/build/compiler.jar -f "--compilation_level=ADVANCED_OPTIMIZATIONS" -o compiled' 

那么你可以做

$ closure -i myJSFile.js > myOutputFile.js 
+4

注意,别名会话之间遗忘了,所以你需要编写到你的'.bashrc'或其他启动文件这一点。 – Sorpigal

您可以编写一个脚本太和处理-o myOutputFile.js选项。

#!/bin/bash 
if [ $# -ne 2 ]; then 
    echo "Usage: closure InputFile OutputFile" 
    exit 1 
fi 

python /var/www/closure-library/closure/bin/calcdeps.py \ 
-i "$1" \ 
-p ../closure-library/closure/goog/ \ 
-o compiled \ 
-c /var/www//closure-compiler/build/compiler.jar \ 
-f "--compilation_level=ADVANCED_OPTIMIZATIONS" \ 
-f "--define=goog.LOCALE='de'" > "$2" 

你可以做closure myJSFile.js myOutputFile.js