如何将用户输入添加到从别名调用的终端命令?
How do I add user inputs to a terminal command which is called from an alias?
我一直在使用 Duck FTP CLI,因为它有一个简洁的选项可以并行下载同一文件,这大大加快了下载速度,唯一的问题是我每次都必须输入终端命令很长。我环顾四周并试图自己弄清楚,但我对实现我所追求的目标实际需要做些什么感到困惑。
我希望发生以下情况。
有一个别名可以调用某些函数(或我不确定的特定操作)以允许在命令中的两个不同点输入文本。完整的文本行是这样的:
duck --parallel 10 -download ftps://someserver.com/files/USER INPUT HERE /Users/Sereniity/Downloads/FTP/USER INPUT HERE -u username -p password
所以它最终会在终端内变成这样:
duckftp [Enter]
Type first directory: /path/to/download.iso [Enter]
Type second directory: /ISO/ [Enter]
然后将这两个值插入到需要 运行 和目录路径的完整命令中,然后执行。
任何帮助将不胜感激,我已经寻找了几个小时,但我不确定我具体需要做什么才能研究它。
谢谢。
考虑使用 shell function:
而不是别名
duckftp() {
duck --parallel 10 -download "ftps://someserver.com/files/" "/Users/Sereniity/Downloads/FTP/" -u username -p password
}
将此添加到您的 .profile,然后可以在您的终端中调用它:
duckftp source/file.name destination/file.name
该函数接受您传递给它的两个参数,并通过使用 </code> 和 <code>
引用它们来将它们代入 duck
命令。
我一直在使用 Duck FTP CLI,因为它有一个简洁的选项可以并行下载同一文件,这大大加快了下载速度,唯一的问题是我每次都必须输入终端命令很长。我环顾四周并试图自己弄清楚,但我对实现我所追求的目标实际需要做些什么感到困惑。
我希望发生以下情况。
有一个别名可以调用某些函数(或我不确定的特定操作)以允许在命令中的两个不同点输入文本。完整的文本行是这样的:
duck --parallel 10 -download ftps://someserver.com/files/USER INPUT HERE /Users/Sereniity/Downloads/FTP/USER INPUT HERE -u username -p password
所以它最终会在终端内变成这样:
duckftp [Enter]
Type first directory: /path/to/download.iso [Enter]
Type second directory: /ISO/ [Enter]
然后将这两个值插入到需要 运行 和目录路径的完整命令中,然后执行。
任何帮助将不胜感激,我已经寻找了几个小时,但我不确定我具体需要做什么才能研究它。
谢谢。
考虑使用 shell function:
而不是别名duckftp() {
duck --parallel 10 -download "ftps://someserver.com/files/" "/Users/Sereniity/Downloads/FTP/" -u username -p password
}
将此添加到您的 .profile,然后可以在您的终端中调用它:
duckftp source/file.name destination/file.name
该函数接受您传递给它的两个参数,并通过使用 </code> 和 <code>
引用它们来将它们代入 duck
命令。