如何通过管道同时执行两个命令:创建文件并赋予u+x权限?
创建文件时同时添加u+x权限的方法
当然可以在创建文件的同时赋予u+x权限,但你尝试的管道命令写法有问题——touch需要指定要创建的文件名,且管道在这里无法传递创建的文件名给chmod,因为管道是将前一个命令的标准输出传给后一个命令的标准输入,而chmod并不通过标准输入接收要修改的文件路径。
下面是几种可行的方法:
顺序执行两个命令(推荐)
用&&连接touch和chmod,确保只有文件创建成功后才修改权限:touch hello_world && chmod u+x hello_world要是想简化写法,还可以用变量复用文件名:
FILE="hello_world" && touch "$FILE" && chmod u+x "$FILE"用
install命令一步完成install命令可以直接指定权限创建空文件(借助/dev/null作为空内容源):install -m u+x /dev/null hello_world
你原来的命令Touch | chmod u+x hello_world?存在两个问题:
touch(注意是小写)没有指定要创建的文件名,执行时会报错;hello_world?是通配符,会匹配当前目录下所有以hello_world开头且后面跟一个任意字符的文件,并非你要创建的目标文件名。
内容的提问来源于stack exchange,提问作者Sleekdave22
相关产品推荐
相关产品推荐

