使用以下创建文件的Bash序列,更改文件权限(可执行)并运行我想要 在一行中完成最后2个命令的脚本 :
$ touch dotfiles.sh
$ chmod +x ./dotfiles.sh
$ ./dotfiles
解决方案1
我认为可能的解决方案是使用&& 运算符。因此,只有./dotfiles
成功时才会执行chmod
。
但是这个解决方案不起作用,而bash说文件不存在。有什么想法?。
(不是工作解决方案)
注意:chmod
如果成功则返回0。所以&&已完成,但在./dotfiles.sh
:
$ chmod +x ./dotfiles.sh && ./dotfiles.sh
-bash: ./dotfiles.sh: No such file or directory
$
更新:解决方案1是正确的。请参阅下面的答案以获得完整的解释。
答案 0 :(得分:1)
更新:
提议的解决方案1实际上正在运作。在阅读用户的评论后,我发现问题可能出在dotfiles.sh
的内容,而不是我要求的bash命令。
我遇到了什么问题?
在dotfile.sh文件中,我添加了#!/usr/bin/env bash
而不是#!/bin/bash
。因此,当执行chmod +x ./dotfiles.sh && ./dotfiles.sh
"No such file or directory"
问题时,指的是./dotfiles.sh
内容而不是“命令”本身(我认为)。
答案 1 :(得分:-3)
这应该有用。
sizeof(char)*nbytes