我想连接别名。例如,如果我有以下代码:
alias aliasone="cat" alias aliastwo="/etc/passwd"
我希望能够在shell中键入类似“aliasone+aliastwo”的内容,然后执行以下命令:
cat /etc/passwd
这能做到吗?谢谢你!
brccelvz1#
别名仅用于命令替换。如果您想简化参数,请使用shell变量。
file=/etc/passwd cat "$file"
yqlxgs2m2#
只需删除第二行中的“别名”,即:
alias aliasone="cat" folder="/etc/passwd"
然后你可以写:
aliasone $folder
问题是别名会评估命令;但在第二个别名中没有命令。在参数的情况下最好使用变量。如果您有更特殊的情况(例如您在脚本中)请告诉我们,以便我们可以给予更好的解决方案。
bf1o4zei3#
我认为您试图同时运行几个别名,一个接一个。我可能是错的,但如果是这种情况,简单的解决方案是在新别名中使用&&。例如,您有两个现有的别名:别名cdtomydir ='cd/home/mydir'别名列表文件indir = 'll'则可以使用&&将上述两个别名合并为第三个别名:别名cdtomydir和列表文件= 'cdtomydir和列表文件indir'
kse8i1jr4#
您可以执行以下操作:aliasone ='cat/etc/passwd'然后输入aliasone就可以了,如果你要使用cat在其他地方查找,那么输入**aliasastwo ='cat/etc/shadow'**例如。无论如何,只要改变路径就可以了,确保别名是不同的,记住命令使用的单词不是保留的。
mm9b1k5b5#
步骤1:
alias ccat='cat $1'
步骤2:
ccat /etc/passwd
输出〉〉
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/ lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin.............
5条答案
按热度按时间brccelvz1#
别名仅用于命令替换。如果您想简化参数,请使用shell变量。
yqlxgs2m2#
只需删除第二行中的“别名”,即:
然后你可以写:
问题是别名会评估命令;但在第二个别名中没有命令。在参数的情况下最好使用变量。如果您有更特殊的情况(例如您在脚本中)请告诉我们,以便我们可以给予更好的解决方案。
bf1o4zei3#
我认为您试图同时运行几个别名,一个接一个。我可能是错的,但如果是这种情况,简单的解决方案是在新别名中使用&&。例如,您有两个现有的别名:别名cdtomydir ='cd/home/mydir'别名列表文件indir = 'll'
则可以使用&&将上述两个别名合并为第三个别名:别名cdtomydir和列表文件= 'cdtomydir和列表文件indir'
kse8i1jr4#
您可以执行以下操作:aliasone ='cat/etc/passwd'然后输入aliasone就可以了,如果你要使用cat在其他地方查找,那么输入**aliasastwo ='cat/etc/shadow'**例如。无论如何,只要改变路径就可以了,确保别名是不同的,记住命令使用的单词不是保留的。
mm9b1k5b5#
步骤1:
步骤2:
输出〉〉