.bashrc alias for a command with fixed second parameter
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I would like to create an alias for the move command -
trash='mv <some files> /home/$USER/.local/share/Trash/files'
How do I make this work?
I want the destination to always be the same. But I want to be able to pass the files to be moved.
bash
add a comment |
I would like to create an alias for the move command -
trash='mv <some files> /home/$USER/.local/share/Trash/files'
How do I make this work?
I want the destination to always be the same. But I want to be able to pass the files to be moved.
bash
2
There is already a command-line interface to the trash: in 18.04 it'sgio trash
(in earlier versions of Ubuntu,gvfs-trash
) i.e. you can just typegio trash <some files>
. If that's really too long then you can alias italias trash='gio trash'
.
– steeldriver
Apr 21 at 13:27
add a comment |
I would like to create an alias for the move command -
trash='mv <some files> /home/$USER/.local/share/Trash/files'
How do I make this work?
I want the destination to always be the same. But I want to be able to pass the files to be moved.
bash
I would like to create an alias for the move command -
trash='mv <some files> /home/$USER/.local/share/Trash/files'
How do I make this work?
I want the destination to always be the same. But I want to be able to pass the files to be moved.
bash
bash
asked Apr 21 at 9:58
charsicharsi
18817
18817
2
There is already a command-line interface to the trash: in 18.04 it'sgio trash
(in earlier versions of Ubuntu,gvfs-trash
) i.e. you can just typegio trash <some files>
. If that's really too long then you can alias italias trash='gio trash'
.
– steeldriver
Apr 21 at 13:27
add a comment |
2
There is already a command-line interface to the trash: in 18.04 it'sgio trash
(in earlier versions of Ubuntu,gvfs-trash
) i.e. you can just typegio trash <some files>
. If that's really too long then you can alias italias trash='gio trash'
.
– steeldriver
Apr 21 at 13:27
2
2
There is already a command-line interface to the trash: in 18.04 it's
gio trash
(in earlier versions of Ubuntu, gvfs-trash
) i.e. you can just type gio trash <some files>
. If that's really too long then you can alias it alias trash='gio trash'
.– steeldriver
Apr 21 at 13:27
There is already a command-line interface to the trash: in 18.04 it's
gio trash
(in earlier versions of Ubuntu, gvfs-trash
) i.e. you can just type gio trash <some files>
. If that's really too long then you can alias it alias trash='gio trash'
.– steeldriver
Apr 21 at 13:27
add a comment |
3 Answers
3
active
oldest
votes
Use function instead of alias, defined in .bashrc
nano ~/.bashrc
# put inside .bashrc:
trash() {
for item in "$@" ; do
echo "Trashing: $item"
mv "$item" /home/$USER/.local/share/Trash/files
done
}
Then in shell prompt you can use:
$ trash file1 file2
thanks! This worked perfectly.
– charsi
Apr 21 at 10:16
Don't forget to close shell and open again to make this work
– LeonidMew
Apr 21 at 10:16
source ~/.bashrc
works too
– charsi
Apr 21 at 10:17
5
You don't need a loop:trash() { mv "$@" destination; }
– glenn jackman
Apr 21 at 14:34
add a comment |
You can only append arguments to an alias. Fortunately, mv
allows you to do this, with the -t
option
alias trash='mv -t ~/.local/share/Trash/files'
add a comment |
You can also create a bash script and run that script with an alias.
trash.sh:
#!/bin/sh
for arg in $*; do
mv $arg /home/$USER/.local/share/Trash/files
done
exit 0
.bashrc:
alias trash="/path/to/script/trash.sh"
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1135728%2fbashrc-alias-for-a-command-with-fixed-second-parameter%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Use function instead of alias, defined in .bashrc
nano ~/.bashrc
# put inside .bashrc:
trash() {
for item in "$@" ; do
echo "Trashing: $item"
mv "$item" /home/$USER/.local/share/Trash/files
done
}
Then in shell prompt you can use:
$ trash file1 file2
thanks! This worked perfectly.
– charsi
Apr 21 at 10:16
Don't forget to close shell and open again to make this work
– LeonidMew
Apr 21 at 10:16
source ~/.bashrc
works too
– charsi
Apr 21 at 10:17
5
You don't need a loop:trash() { mv "$@" destination; }
– glenn jackman
Apr 21 at 14:34
add a comment |
Use function instead of alias, defined in .bashrc
nano ~/.bashrc
# put inside .bashrc:
trash() {
for item in "$@" ; do
echo "Trashing: $item"
mv "$item" /home/$USER/.local/share/Trash/files
done
}
Then in shell prompt you can use:
$ trash file1 file2
thanks! This worked perfectly.
– charsi
Apr 21 at 10:16
Don't forget to close shell and open again to make this work
– LeonidMew
Apr 21 at 10:16
source ~/.bashrc
works too
– charsi
Apr 21 at 10:17
5
You don't need a loop:trash() { mv "$@" destination; }
– glenn jackman
Apr 21 at 14:34
add a comment |
Use function instead of alias, defined in .bashrc
nano ~/.bashrc
# put inside .bashrc:
trash() {
for item in "$@" ; do
echo "Trashing: $item"
mv "$item" /home/$USER/.local/share/Trash/files
done
}
Then in shell prompt you can use:
$ trash file1 file2
Use function instead of alias, defined in .bashrc
nano ~/.bashrc
# put inside .bashrc:
trash() {
for item in "$@" ; do
echo "Trashing: $item"
mv "$item" /home/$USER/.local/share/Trash/files
done
}
Then in shell prompt you can use:
$ trash file1 file2
answered Apr 21 at 10:11
LeonidMewLeonidMew
1,320624
1,320624
thanks! This worked perfectly.
– charsi
Apr 21 at 10:16
Don't forget to close shell and open again to make this work
– LeonidMew
Apr 21 at 10:16
source ~/.bashrc
works too
– charsi
Apr 21 at 10:17
5
You don't need a loop:trash() { mv "$@" destination; }
– glenn jackman
Apr 21 at 14:34
add a comment |
thanks! This worked perfectly.
– charsi
Apr 21 at 10:16
Don't forget to close shell and open again to make this work
– LeonidMew
Apr 21 at 10:16
source ~/.bashrc
works too
– charsi
Apr 21 at 10:17
5
You don't need a loop:trash() { mv "$@" destination; }
– glenn jackman
Apr 21 at 14:34
thanks! This worked perfectly.
– charsi
Apr 21 at 10:16
thanks! This worked perfectly.
– charsi
Apr 21 at 10:16
Don't forget to close shell and open again to make this work
– LeonidMew
Apr 21 at 10:16
Don't forget to close shell and open again to make this work
– LeonidMew
Apr 21 at 10:16
source ~/.bashrc
works too– charsi
Apr 21 at 10:17
source ~/.bashrc
works too– charsi
Apr 21 at 10:17
5
5
You don't need a loop:
trash() { mv "$@" destination; }
– glenn jackman
Apr 21 at 14:34
You don't need a loop:
trash() { mv "$@" destination; }
– glenn jackman
Apr 21 at 14:34
add a comment |
You can only append arguments to an alias. Fortunately, mv
allows you to do this, with the -t
option
alias trash='mv -t ~/.local/share/Trash/files'
add a comment |
You can only append arguments to an alias. Fortunately, mv
allows you to do this, with the -t
option
alias trash='mv -t ~/.local/share/Trash/files'
add a comment |
You can only append arguments to an alias. Fortunately, mv
allows you to do this, with the -t
option
alias trash='mv -t ~/.local/share/Trash/files'
You can only append arguments to an alias. Fortunately, mv
allows you to do this, with the -t
option
alias trash='mv -t ~/.local/share/Trash/files'
answered Apr 21 at 14:32
glenn jackmanglenn jackman
12.9k2545
12.9k2545
add a comment |
add a comment |
You can also create a bash script and run that script with an alias.
trash.sh:
#!/bin/sh
for arg in $*; do
mv $arg /home/$USER/.local/share/Trash/files
done
exit 0
.bashrc:
alias trash="/path/to/script/trash.sh"
add a comment |
You can also create a bash script and run that script with an alias.
trash.sh:
#!/bin/sh
for arg in $*; do
mv $arg /home/$USER/.local/share/Trash/files
done
exit 0
.bashrc:
alias trash="/path/to/script/trash.sh"
add a comment |
You can also create a bash script and run that script with an alias.
trash.sh:
#!/bin/sh
for arg in $*; do
mv $arg /home/$USER/.local/share/Trash/files
done
exit 0
.bashrc:
alias trash="/path/to/script/trash.sh"
You can also create a bash script and run that script with an alias.
trash.sh:
#!/bin/sh
for arg in $*; do
mv $arg /home/$USER/.local/share/Trash/files
done
exit 0
.bashrc:
alias trash="/path/to/script/trash.sh"
answered yesterday
CPHCPH
843
843
add a comment |
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1135728%2fbashrc-alias-for-a-command-with-fixed-second-parameter%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
There is already a command-line interface to the trash: in 18.04 it's
gio trash
(in earlier versions of Ubuntu,gvfs-trash
) i.e. you can just typegio trash <some files>
. If that's really too long then you can alias italias trash='gio trash'
.– steeldriver
Apr 21 at 13:27