我的代码创建可执行脚本
touch script.sh && echo "echo 'Hello World'" > script.sh && sudo chmod +x script.sh
答案1
答案2
您可以省略整个touch
命令,无需使用sudo
。要进一步缩短命令行,您可以使用bash
历史扩展第二次保存文件名,并省略不必要的空格:
echo "echo 'Hello World'" >script.sh&&chmod +x !#:3
历史扩展!#:3
用当前命令行中的第四个单词替换,在你的情况下是文件名script.sh
。当然,如果你修改了第一个命令,则需要进行调整,例如:
>script.sh echo "echo 'Hello World'"&&chmod +x !#:1
请注意,有效的脚本需要舍邦:
>script.sh echo -e "#!/bin/bash\necho 'Hello World'"&&chmod +x !#:1
如果你更频繁地需要这个命令链,我建议定义函数,这样你只需要输入函数名称。一个同样适用但更长的方法是使用一个保存文件名的变量:
f=script.sh;>$f echo "echo 'Hello World'"&&chmod +x $f
如果你的文件名包含特殊字符,请不要忘记正确引用他们。
答案3
我更喜欢使用cat
这样的任务:
cat > script.sh && chmod +x script.sh
#!/bin/sh
echo 'Hello World'
Enter
Ctrl+D
答案4
您还可以省略整个 chmod,并在 echo 之前使用 umask。应该可以为您节省一些字节。只要您使用每个 shell(主要是 bourne 和 C)都能理解的命令,Shebang 就是可选的。