我希望能够在我的bash脚本上gg=G
,或者一些不会阻碍简单回声的自动格式变体。
我觉得这样的事情不是问题,我只是没有找到正确的方法:
如果有人能帮助我,我们将非常感激。
我输入的内容:
someFun()
{
echo "Some really long string that is going to be automatically
indented.";
}
我在提示中看到的内容
>./someFun
Some really long string that is going to be automatically
indented.
答案 0 :(得分:1)
你可以连接这样的字符串:
echo "Some really long string that is going to be automatically" \
"indented."
要么关闭缩进:
:setlocal noautoindent
:setlocal nosmartindent
答案 1 :(得分:0)
这是我目前的解决方案,任何争论还是抬头?
这样可以满足项目的需要
这需要灵活性,包括:
这些不可靠:
cat<< EOF ... EOF 或以“\”转义回声
强>
我做了一个文件/ usr / bin / yell
printTrueString()
{
local args=$@;
echo $args;
unset args;
}
printTrueString "$@";
exit 0
现在......
sumFun()
{
#auto-indent all you want VIM or w/e!...
yell "hello mad
world"
#just like echo -e
yell -e "hello\nmad\nworld"
}
sumFun;
exit 0
#stays on one line, where the echo would split
>hello mad world
>hello
mad
world
你可以做更多像...扩展回声这个作为内置...
答案 2 :(得分:0)
Byter,这是一个更合适的方式来实现你所追求的目标,以及其他任何先发者的一些提示。
首先,你不应该在任何旧地方藏匿自己的炮弹,尤其是/ usr / bin。如果您有自定义应用,我建议您将其存储在 / opt 或/ usr / local / bin中。
其次,这个特殊的外壳不应该是您的任何应用程序的先决条件,它不会起到与现有应用程序不同的目的。
相反,请参阅以下示例:
<强>问题&GT; 强>
foo()
{
echo "A string that gets affected by auto-format, is a pretty long
string";
}
$foo
>A string that gets affected by auto-format, is a pretty long
string
<强> SOLUTION&GT; 强>
foo()
{
longString='A really long
\nstring';
echo -e $longString
}
$foo
>A really long
string
或强> 使用 cat EOF | EOL ,如果你的话,这对你有用 用连字符指定没有缩进&#34; - &#34;见:
foo()
{
cat <<-EOL
really long
string
EOL
}
$foo
>really long
string
结论&gt; 这可以通过提供一种在bash中使用字符串的非突兀方式来解决您的问题。