在linux shell中连接别名

hpcdzsge  于 2022-11-22  发布在  Linux
关注(0)|答案(5)|浏览(130)

我想连接别名。例如,如果我有以下代码:

alias aliasone="cat"
alias aliastwo="/etc/passwd"

我希望能够在shell中键入类似“aliasone+aliastwo”的内容,然后执行以下命令:

cat /etc/passwd

这能做到吗?
谢谢你!

brccelvz

brccelvz1#

别名仅用于命令替换。如果您想简化参数,请使用shell变量。

file=/etc/passwd
cat "$file"
yqlxgs2m

yqlxgs2m2#

只需删除第二行中的“别名”,即:

alias aliasone="cat"
folder="/etc/passwd"

然后你可以写:

aliasone $folder

问题是别名会评估命令;但在第二个别名中没有命令。在参数的情况下最好使用变量。如果您有更特殊的情况(例如您在脚本中)请告诉我们,以便我们可以给予更好的解决方案。

bf1o4zei

bf1o4zei3#

我认为您试图同时运行几个别名,一个接一个。我可能是错的,但如果是这种情况,简单的解决方案是在新别名中使用&&。例如,您有两个现有的别名:别名cdtomydir ='cd/home/mydir'别名列表文件indir = 'll'
则可以使用&&将上述两个别名合并为第三个别名:别名cdtomydir和列表文件= 'cdtomydir和列表文件indir'

kse8i1jr

kse8i1jr4#

您可以执行以下操作:aliasone ='cat/etc/passwd'然后输入aliasone就可以了,如果你要使用cat在其他地方查找,那么输入**aliasastwo ='cat/etc/shadow'**例如。无论如何,只要改变路径就可以了,确保别名是不同的,记住命令使用的单词不是保留的。

mm9b1k5b

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.............

相关问题