Concatenation (Bash): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 60: | Regel 60: | ||
Error: Too many positional arguments: 63537 63536 63534 63533 63532 63531 63527 63525 63524 63522 63521 63515 63507 63504 63503 63502 | Error: Too many positional arguments: 63537 63536 63534 63533 63532 63531 63527 63525 63524 63522 63521 63515 63507 63504 63503 63502 | ||
</pre> | </pre> | ||
+ | |||
+ | == Bronnen == | ||
+ | |||
+ | * https://pascalbirchler.com/an-introduction-to-wp-cli/ |
Versie van 29 jul 2021 08:03
Met concatenation bedoel ik dat de output van het ene commando, kan gebruikt worden als input voor het andere, en vergelijkbare zaken.
MIMO & WP-CLI
Deze situatie is iets anders: Het eerste commando geeft namelijk meerdere outputs. Hoe gebruik je dat als input? Ik noem dit hier MIMO - Multiple Input Multiple Output. Deze situatie heeft betrekking op de WordPress Command Line Interface (WP-CLI).
List & delete users
Dit vind ik nog altijd een inspirerende voorbeeld:
wp user delete $(wp user list --role="customer" --field=ID) --yes
- Het binnenste gedeelte
wp user list --role="customer" --field=ID
genereert een opsomming van id's, met 1 id per regel - Het buitenste gedeelte
wp user delete $() --yes
neemt die id's als input-argument en verwijdert deze.
Voorbeeld (28 juli 2021):
wp user delete $(wp user list --role="customer" --field=ID) --yes Success: Removed user 419 from http://en.s1. Success: Removed user 614 from http://en.s1. Success: Removed user 830 from http://en.s1. Success: Removed user 364 from http://en.s1. Success: Removed user 174 from http://en.s1. Success: Removed user 341 from http://en.s1. Success: Removed user 685 from http://en.s1.
Verwijderen van orders?
Bovenstaande aanpak zou ik ook graag willen gebruiken om orders te verwijderen.
De eerste stap lijkt hetzelfde te zijn: Een commando dat output genereert met een item per regel:
wp wc shop_order list --user=4 --field=id 63540 63538 63537 63536
Het buitenste gedeelte heb ik nu ook aan de praat:
wp wc shop_order delete 63540 --user=4 Success: Trashed shop_order 63540
Maar dit lukt dan weer niet:
wp wc shop_order delete $(wp wc shop_order list --user=4 --field=id) --user=4 Error: Too many positional arguments: 63537 63536 63534 63533 63532 63531 63527 63525 63524 63522 63521 63515 63507 63504 63503 63502