blob: bcff15de53c15bf3e4776b43d24d083347f26323 (
plain) (
tree)
|
|
#
msgid ""
msgstr ""
msgid "title: Useful Bash variables"
msgstr ""
msgid "layout: post"
msgstr ""
msgid "lang: en"
msgstr ""
msgid "ref: useful-bash-variables"
msgstr ""
msgid ""
"[GNU Bash](https://www.gnu.org/software/bash/) has a few two letter "
"variables that may be useful when typing on the terminal."
msgstr ""
msgid "`!!`: the text of the last command"
msgstr ""
msgid ""
"The [`!!` "
"variable](https://www.gnu.org/software/bash/manual/bash.html#Event-"
"Designators) refers to the previous command, and I find useful when "
"following chains for symlinks:"
msgstr ""
msgid ""
"$ which git\n"
"/run/current-system/sw/bin/git\n"
"$ readlink $(!!)\n"
"readlink $(which git)\n"
"/nix/store/5bgr1xpm4m0r72h9049jbbhagxdyrnyb-git-2.28.0/bin/git\n"
msgstr ""
msgid ""
"It is also useful when you forget to prefix `sudo` to a command that "
"requires it:"
msgstr ""
msgid ""
"$ requires-sudo.sh\n"
"requires-sudo.sh: Permission denied\n"
"$ sudo !!\n"
"sudo ./requires-sudo.sh\n"
"# all good\n"
msgstr ""
msgid ""
"Bash prints the command expansion before executing it, so it is better for "
"you to follow along what it is doing."
msgstr ""
msgid "`$_`: most recent parameter"
msgstr ""
msgid ""
"The [`$_` "
"variable](https://www.gnu.org/software/bash/manual/bash.html#Special-"
"Parameters) will give you the most recent parameter you provided to a "
"previous argument, which can save you typing sometimes:"
msgstr ""
msgid ""
"# instead of...\n"
"$ mkdir -p a/b/c/d/\n"
"$ cd a/b/c/d/\n"
"\n"
"# ...you can:\n"
"$ mkdir -p a/b/c/d/\n"
"$ cd $_\n"
msgstr ""
msgid "Conclusion"
msgstr ""
msgid ""
"I wouldn't use those in a script, as it would make the script terser to "
"read, I find those useful shortcut that are handy when writing at the "
"interactive terminal."
msgstr ""
msgid "date: 2020-11-12 1"
msgstr ""
#~ msgid "date: 2020-11-12"
#~ msgstr ""
|